CentOS 8系でSSHのパスワードログインができなかった
CentOS6から下記の方法で、サーバー間はパスワードなしでログインしていました
- 接続先(サーバー)IP:192.168.0.10
- 接続元(クライアント)IP:192.168.0.20
- ユーザー:admin
# [接続先:192.168.0.10] # 接続先サーバーで公開鍵認証を許可する $ sudo vim /etc/ssh/sshd_config PubkeyAuthentication yes $ sudo systemctl restart sshd # [接続元:192.168.0.20] # DSA形式の鍵を発行する $ ssh-keygen -t dsa # [接続元:192.168.0.20] # 公開鍵をログイン先のサーバー(192.168.0.10)を登録 $ ssh -p 19422 -l admin 192.168.0.10 touch /home/admin/.ssh/authorized_keys $ ssh -p 19422 -l admin 192.168.0.10 chmod 600 /home/admin/.ssh/authorized_keys $ cat ~/.ssh/id_dsa.pub | ssh -l admin 192.168.0.10 'cat >> '/home/expdev/.ssh/authorized_keys
CentOS 7間では上記の方法でパスワード無しでログインできましたが、CentOS 7 => CentOS 8系だとログインできません。何度やってもパスワードをSSH接続時にパスワードを求められます
色々調べるとCentOS 8系だと、「DSA」形式のパスワード無しのログインができないようです。「RSA」、「ECDSA」、「EdDSA」とかだとはパスワードなしのログインが可能用ですので、「ECDSA」形式で公開鍵を用意してパスワードなしのログインするように変更しました
# [接続先:192.168.0.10] # 接続先サーバーで公開鍵認証を許可する $ sudo vim /etc/ssh/sshd_config PubkeyAuthentication yes $ sudo systemctl restart sshd # [接続元:192.168.0.20] # ECDSA形式の鍵を発行する $ ssh-keygen -t ecdsa # [接続元:192.168.0.20] # 公開鍵をログイン先のサーバー(192.168.0.10)を登録 $ ssh -p 19422 -l admin 192.168.0.10 touch /home/admin/.ssh/authorized_keys $ ssh -p 19422 -l admin 192.168.0.10 chmod 600 /home/admin/.ssh/authorized_keys $ cat ~/.ssh/id_ecdsa.pub | ssh -l admin 192.168.0.10 'cat >> '/home/admin/.ssh/authorized_keys
「ECDSA」形式では、CentOS 8系のサーバーでもパスワードなしのログインするようになりました
ディスカッション
コメント一覧
まだ、コメントがありません