Mac: ターミナルで ssh 接続(公開鍵認証)をする
ターミナルで ssh(Secure Shell)接続して、サーバーにリモート接続する方法を紹介します。ssh 接続には、公開鍵認証を利用します。リモートにパスワード認証で接続する方法は、こちらの記事を参考にしてください。
公開鍵と秘密鍵を作る
ローカルでの作業です。ユーザフォルダの下にある .ssh フォルダで、公開鍵と秘密鍵を作成します。パスフレーズを設定しますが、ここは何も入力せずに Enter で OK です。
$ cd ~/.ssh
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
生成される id_rsa が秘密鍵で、id_rsa.pub が公開鍵です。
$ls
id_rsa id_rsa.pub known_hosts
公開鍵をリモートに置く
上記で作成した公開鍵(id_rsa.pub)をサーバーに送ります。サーバーに送るには、scp コマンドを利用します。
$ scp id_rsa.pub ユーザ名@ホスト名:~
ユーザ名@ホスト名's password:
id_rsa.pub 100% 408 0.4KB/s 00:00
リモートに接続します。
$ ssh ユーザ名@ホスト名
ユーザ名@ホスト名's password:
.ssh ファイルに id_rsa.pub を移動します。そして、authorized_keys という名前で保存(追記)し、パーミッション 600 を設定し、authorized_keys を .ssh 以下に置きます。
$ mv ~/id_rsa.pub ~/.ssh
$ cat ~/.ssh/id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ mv ~/authorized_keys ~/.ssh/authorized_keys
以上で、公開鍵認証による ssh 接続ができるようになります。
公開鍵認証で ssh 接続
以下のコマンドを入力するとパスワードの入力なしに、リモート接続できます。
$ ssh ホスト名