web-dev-qa-db-ja.com

EC2でホストされているUbuntuでhomedir権限とホスト名が変更された後にSSHが壊れた

hostnameユーティリティを使用してインスタンスのホスト名を変更し、それを_/etc/hostname_に設定して、新しい名前が再起動後も存続するようにしました。

私の主な動機は、_\h_の_PS1_形式を使用してプロンプトでインスタンスを区別することでした。

[〜#〜] edit [〜#〜]ホームディレクトリの権限も変更しました。ホームディレクトリグループを書き込み可能にしました。

これで、マシンにSSHで接続できなくなりました。それの不足はエラーPermission denied (publickey)です。 _ssh -v_を実行すると、より詳細な出力が得られます。

_debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/dmitry/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/dmitry/.ssh/ec2key.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
_

ホスト名を変更した後、何かをすべきでしたか?今、私はインスタンスに入ることができません! :(

1

ありがたいことに、ルートマウントはEBSボリュームで実行されていました。そのため、インスタンスを停止し、実行していた別のインスタンスにEBSボリュームを接続することで、この問題をデバッグすることができました。次に、/var/log/auth.logが提供していなかった有用な情報を提供するssh -vを調べました。私は気づきました:

Nov 26 02:55:39 myhost sshd[1746]: Authentication refused: bad ownership or modes for directory /home/myuser

実際、SSHは、StrictModes/etc/ssh/sshd_configyesに設定されているときに、ホームディレクトリにグループ書き込み権限を与えたことに満足していませんでした。

この問題の詳細については、 http://recursive-design.com/blog/2010/09/14/ssh-authentication-refused/ を参照するか、WebでSSH StrictModesを検索してください。またはAuthentication refused: bad ownership or modes for directory

2

/ etc/hostsも変更する必要があります

1