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).
_
ホスト名を変更した後、何かをすべきでしたか?今、私はインスタンスに入ることができません! :(
ありがたいことに、ルートマウントは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_config
でyes
に設定されているときに、ホームディレクトリにグループ書き込み権限を与えたことに満足していませんでした。
この問題の詳細については、 http://recursive-design.com/blog/2010/09/14/ssh-authentication-refused/ を参照するか、WebでSSH StrictModes
を検索してください。またはAuthentication refused: bad ownership or modes for directory
。
/ etc/hostsも変更する必要があります