・とりあえず普通のSSH接続をします。コマンドを打ったあとでパスワードを入力してログインします。
ssh username@IPアドレス -p ポート番号
・次のコマンドを打ちます。
mkdir .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
・Windowsで別のターミナルを起動して鍵を作ります。
ssh-keygen
Enterキーを3回くらい押す。
C:\Users\username\.ssh
のフォルダにid_rsaとid_rsa.pubのファイルができたはずです。
id_rsa.pubをメモ帳などの好きなテキストエディタで開きます。
Ctrl+A、Ctrl+Cで全部コピーします。
・SSH接続していたターミナルに戻り今コピーした公開鍵を貼り付けます。
nano authorized_keys
nanoの操作方法ですが、右クリックで貼り付け、Ctrl+X、Yキー、Enterキーの順番で保存できるはずです。
・Windowsで別のターミナルを起動します。
ssh -i .ssh/id_rsa username@IPアドレス -p ポート番号
これで公開鍵認証で接続できるか確認します。
鍵認証でSSH接続できることが確認できたらパスワード認証を禁止する設定をします。rootになって作業します。
sudo su -
nano /etc/ssh/sshd_config
nano以外を使う人は好きなエディタで編集してください。
#PasswordAuthentication yes
の行を
PasswordAuthentication no
にしてファイルを保存します。nanoの場合はCtrl+X、Yキー、Enterキーです。
・設定を反映させます。
systemctl restart ssh
・Windowsで新しいターミナルを起動してSSH接続してみます。鍵が置いてあるならそのままつながりますが鍵が無い場合は
Permission denied (publickey).
と出て接続できないはずです。
上のほうにも書いてますが鍵認証のSSH接続は
ssh -i .ssh/id_rsa username@IPアドレス -p ポート番号
でできます。
鍵認証で接続できたら完了です。おつかれさまでした。