ゆったりWeb手帳

sshでログインするときにパスワードを入力するのが面倒

ssh-keygenで鍵を作って簡単ログイン

サーバのコンソールにアクセスするときって、毎回パスワードを入力する必要があるので面倒ですよね。

最初の作業だけ手間ですがssh鍵を使うことでだいぶ楽になります。

鍵を作成する

クライアント側で以下を実行します。
(どちら側で作ってもOKらしい)
すべて空欄でもOKです。

$ ssh-keygen -t rsa 
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

保存場所

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa):

任意の場所に保存したい場合はここでパスを入力します。

初期値は/Users/user/.ssh/id_rsaです。

パスフレーズ

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

パスフレーズは設定すると秘密鍵を使うときに必要になります。

鍵の確認

作成がうまくいくとid_rsaid_rsa.pubというファイルができます。

.pubがついている方が公開鍵でついていない方が秘密鍵です。

クライアント側で作成した場合は公開鍵をリモート側(サーバ側)に置きます。

リモート側のユーザのホームディレクトリの.sshディレクトリ以下に配置します。

すでにauthorized_keysファイルがある場合は追記します。

$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys

ない場合はファイル名をauthorized_keysに変更するだけです。

$ cd ~/.ssh
$ chmod 600 id_rsa.pub
$ cat id_rsa.pub >> authorized_keys

ログインする

ssh user@remote -i [秘密鍵パス]

秘密鍵を~/.ssh/id_rsaに保存している場合は-iオプションは特につける必要はないみたい。