継続的展開の目的で、ユーザーにLinuxホストへのリモートアクセスを許可しようとしていますが、公開鍵が設定されているにもかかわらず、ユーザーがホストに接続できない理由がわかりません。
ホストマシンでは、ユーザーの~/.ssh
フォルダーに次のファイルがあります。
authorized_keys
config
github.project1.key
これらのファイルとその内容は、接続可能な別のホスト上のユーザーのsshフォルダーの内容と一致します。
リモートホストからの接続は、(実際の値ではなく)を介してテストされます。
ssh validuser@devhost -i ~/.ssh/myprivatekey.key
そのために私たちは得る:
Permission denied (publickey)
ホスト/var/log/auth.log
の状況を分析しようとすると、次のエントリが表示されます。
Oct 16 14:59:10 devhost sshd[24020]: Connection closed by 62.70.23.213 port 51759 [preauth]
奇妙なことに、ssh中に無効なユーザー(ホストにアカウントがない)を試行すると、次のようになります。
Oct 16 15:11:17 devhost sshd[24069]: Invalid user xubuntu from 67.70.26.223
Oct 16 15:11:17 devhost sshd[24069]: input_userauth_request: invalid user xubuntu [preauth]
Oct 16 15:11:17 devhost sshd[24069]: Connection closed by 62.70.23.213 port 51888 [preauth]
その他の注意事項:
/etc/nologin
はありません/etc/passwd
からわかる限り、bashがシェルとして指定されていることに基づいてログインが許可されます誰かアイデアはありますか?
ssh
サービスはリモート(Ubuntu)マシンで実行されていますか?次のコマンドでテストします:Sudo service ssh status
インストールされていない場合は、次のように追加します:Sudo apt-get install open-ssh server
必要に応じて、次の方法でサービスを構成できます。
Sudo vi /etc/ssh/sshd_config
ただし、そのファイルを編集する前に、何をしたいかを確認してください。
サービスを再起動するには、次の手順を実行します。
Sudo service ssh restart
。
authorized_keys
ファイルを比較すると、コピー元のホストのファイルと完全に一致していなかったことがわかりました(長さが4バイト異なります)。内容を再コピーすると、ログインできるようになりました。
キーが無効であるという点で/var/log/auth.log
ファイルがクリアされることを望んでいましたが、これは/etc/ssh/sshd_config
(デフォルトはINFO)のログレベルを調整することで達成できたと思います。