ゆったり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オプションは特につける必要はないみたい。
次の記事GitHubでforkしたリポジトリをfork元と同期する