SSH接続用鍵作成
VPSのSSH接続にパスワード認証ではなく秘密鍵認証を使用できるようにします。
まずローカル(自分のPC)で秘密鍵作成
自分のはWindows11なのでコマンドプロンプトを使ってます
C:\Users\user名> ssh-keygen
passphraseを設定してくれと言われるので適当に入力します
これで自分のPCのuser名のフォルダに.sshというフォルダができて、中に秘密鍵と公開鍵のファイルが作成されます
そして公開鍵をサーバーに保存します
方法は色々ありますが、今回はそのままコマンドプロンプトでscpコマンドを使用します
C:\Users\use名> scp .ssh/id_rsa.pub サーバーのユーザー名@IPアドレス:~/
VPSサーバーへログインします
まずはフォルダ(サーバーに公開鍵の置き場所)作成
mkdir ~/.ssh
公開鍵の内容を .ssh/authorized_keys へ出力
cat id_rsa.pub > ~/.ssh/authorized_keys
ファイルの権限設定、権限の詳細はchmodコマンドの数字による記述方法を調べてください
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
最初にSCPコマンドでアップロードした公開鍵ファイルを削除します
これで鍵認証でSSH接続できるようになります
次に鍵認証でしかログインできないように設定します
サーバーで /etc/ssh/sshd_config ファイルを編集する
sudo nano /etc/ssh/sshd_config
次の文章を追加します
PermitRootLogin no
PasswordAuthentication no
追加する場所は
Include /etc/ssh/sshd config.d/*.conf
の上くらいがいいです。上のほうの設定が優先されるので
ちなみにnanoの編集の保存の方法は Ctrl + Xで終了、Yで保存、Enterでnanoを閉じます
最後にsshを再起動
sudo systemctl restart ssh
これでパスワード認証のサーバーログインが禁止されました
コメント