web-dev-qa-db-ja.com

「ssh localhost」は「Permission denied(publickey)」を与えます。

私が試した多くのことのいくつかに言及し、いくつかの診断を行います。これをデバッグする方法についての手がかりをいただければ幸いです。

me@myubuntu:~/.ssh$ ssh localhost
Permission denied (publickey).

以前に走った

Sudo ufw allow ssh/tcp

ルーターでポート22のポートフォワーディングを設定し、開いていることを確認しました ここ (ただし、おそらく必要ではありません-sshは自分自身にsshするときにルーターまでも出ますか?).

Home/.sshディレクトリでcat id_rsa.pub >> authorized_keysを実行し、chmod 600 authorized_keysでアクセス許可を設定しました。

ssh -v localhostを実行すると大量の出力が得られます。問題が発生すると思う最後の数行は次のとおりです。

debug1: Host 'localhost' is known and matches the ECDSA Host key.
debug1: Found key in /home/me/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/me/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: me@myubuntu
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/me/.ssh/id_dsa
debug1: Trying private key: /home/me/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).

私はbitbucketリポジトリへのssh-ingに成功したので、これは私のid_rsaキーセットが有効であり、適切な権限を持っていることを意味すると思います。

更新1:

> ~/.ssh$ ls -l ~/.ssh/authorized_keys
-rw------- 1 me me 747 Oct 25 08:27 /home/me/.ssh/authorized_keys

(いいね)

更新2:

~/.ssh$ ls -ld ~/.ssh
drwx------ 2 me me 4096 Oct 25 08:27 /home/me/.ssh

(いいね)

更新3:/var/log/auth.logを実行した直後のssh localhostの最後の数行:

Oct 25 09:49:47 me-myubuntu sshd[16442]: Connection from 127.0.0.1 port 36944
Oct 25 09:49:47 me-myubuntu sshd[16442]: User me from localhost not allowed because not listed in AllowUsers
Oct 25 09:49:47 me-myubuntu sshd[16442]: input_userauth_request: invalid user me [preauth]
Oct 25 09:49:47 me-myubuntu sshd[16442]: Connection closed by 127.0.0.1 [preauth]

よく見てください!以前にsshd_configファイルを台無しにして、AllowUsersオプションを正しく指定するのを忘れました。

解決策:Sudo gedit /etc/ssh/sshd_configlocalhost行にAllowUsersを含めます

1
zkurtz

接続中に起こりうるエラーについては、/var/log/auth.logを確認してください。この行

10月25日09:49:47 me-myubuntu sshd [16442]:AllowUsersにリストされていないため、localhostからのユーザーmeは許可されません

問題を示します。

3
Jakuje