公開鍵認証方式を用いたSSH通信の設定方法

1. 暗号化方式の変更[接続先PC]

「/etc/ssh/sshd_config」を編集

$ sudo vi /etc/ssh/sshd/sshd_config

公開鍵暗号方式の有効化とパスワード認証方式の無効化

+ PubkeyAuthentication yes # 追記

- PasswordAuthentication yes
+ PasswordAuthentication no # 変更

リスタート

$ sudo systemctl restart sshd

2. 秘密鍵と公開鍵を作成[接続PC]

鍵の作成

$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/yuhi-sa/.ssh/id_rsa): # 無記入でEnter

Enter passphrase (empty for no passphrase): # パスフレーズを入力 
Enter same passphrase again: # パスフレーズを入力 

Your identification has been saved in 保存先ディレクトリ
Your public key has been saved in 保存名

ファイル名を空白にした場合は「/.ssh/」以下にファイルが作成される. id_rsa.pubが公開鍵,id_rsaが秘密鍵となる.

ssh-keygenコマンド

$ ssh-keygen [オプション]

3. 「/.ssh」ディレクトリを作成[接続先PC]

「/.ssh」ディレクトリを作成し,700の権限を与える.

$ sudo mkdir /home/[ユーザ名]/.ssh
$ sudo chown [ユーザ名]:users /home/[ユーザ名]/.ssh
$ sudo chmod 700 /home/[ユーザ名]/.ssh

4. 公開鍵を登録[接続先PC]

「/.ssh」ディレクトリに「authorized_key」ファイル作成.

$ sudo touch /home/[ユーザ名]/.ssh/autorized_keys

先ほど作成した公開鍵暗号を登録.

$ sudo vi /home/[ユーザ名]/.ssh/autorized_keys

600の権限を与える.

$ sudo chmod 600 /home/[ユーザ名]/.ssh/autorized_keys

5. 接続[接続PC]

$ ssh [ユーザ名]@IPアドレス
Enter passphrase for key '/Users/[ユーザ名]/.ssh/id_rsa': # パスフレーズを入力 
Tags: