毎回忘れているので。
サーバーとクライアント(自宅PC)を繋ぐ #
- [サーバー] sshdのコンフィグを編集、確認する。
sshd -t
でコンフィグ検証
できればMatch Address
などで制限を加える
ログレベルをデバッグにしておくと、適用後にログをみて悪人にログインされていないか確認しやすい(常時botがぶん回されているので、ログが多くなる。検証後に戻しておくこと。) - [クライアント] ssh-keygenで公開鍵暗号のキーペアを生成
パスフレーズは理由がないならあり(キーファイルが流出しただけで終わるから。) - 生成したクライアントの公開鍵をサーバー側に登録する
cat ~/.ssh/key.pub
でコピーして、サーバー上で
echo "コピーしたやつ" >> ~/.ssh/authorized_keys
でauthorized_keysに突っ込む
4. [サーバー] sshdを再起動
5. ssh -i ......
で鍵指定、接続先(サーバーホスト)指定して接続
指定するユーザー名はサーバー側に存在するユーザーのものなので注意
rootへのログインを許可する場合はconfigで明示的に指定する必要があるようだ
メモ #
- 公式ドキュメント: 🔗https://www.openssh.com/manual.html
sshdのconfigについては
sshd_config
を参照 - サーバー上で、サーバーのpubkey fingerprint 確認
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
- トラブったらauth.log(ディストロ、OSによって場所が違う)などを見る
鍵ディレクトリの権限なども確認