UbuntuのSSHの公開鍵認証の設定(2023年8月版)

・とりあえず普通の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 ポート番号

でできます。

鍵認証で接続できたら完了です。おつかれさまでした。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です