
Ubuntu日本語フォーラム

ログインしていません。
こんばんわ。早速症状について書かせていただきます。
SSHのパスフレーズなし公開鍵認証を使用していたのですが、急に認証ができなくなりました。
Permission denied (publickey).
パスフレーズをつけた公開鍵だと正常に認証しています。
公開鍵を作り直しても同じ結果が出ます。
2台のサーバで試したところどちらでも同じ結果が出ました。
どうすれば、認証ができるようになりますか?
サーバ側/etc/ssh/sshd_config
# Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for Port 80 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2,1 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords PasswordAuthentication no # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes ##User GatewayPorts yes
オフライン
デバッグモードにて正常に接続できる/できない両ケースを比較すると、問題解決に近づけるでしょう。
リモート側(SSHデーモン側)で
sudo /usr/sbin/sshd -p 適当な開いているポート番号 -d
とした後に、ローカル側(SSHクライアント側 *2)で
ssh -v -p 適当な開いてるポート remote_host # *1
*1 正常に接続できない場合のsshコマンドに、-vオプションならびに-p 「適当な開いているポート番号」を追加という意味です。
*2 ここでのSSHクライアントはUbuntuのsshコマンドを想定。他のSSHクライアントにも類似のオプション設定があるはず。
あと、configファイルのそのまま投稿しても、大抵は面倒くさいので読まれません。
オリジナルのconfigファイルとの差分を投稿すべきでしょう。
下記のdiff結果で分かるように、オリジナルのconfigファイルからの変更点は
・Portを22→80に変更
・Protocolを2→2,1に変更
・PermitRootLoginをyes→noに変更
・AuthorizedKeysFileは変更しているがdefaultと同じ値
・PasswordAuthenticationをyes→noに変更
・GatewayPortsをno(default)→yesに変更
というわけです。
$ diff -u sshd_config.orig sshd_config.modified --- sshd_config.orig 2010-12-29 14:47:40.654938731 +0900 +++ sshd_config.modified 2010-12-29 14:48:02.922938847 +0900 @@ -2,11 +2,11 @@ # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for -Port 22 +Port 80 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 -Protocol 2 +Protocol 2,1 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key @@ -23,12 +23,12 @@ # Authentication: LoginGraceTime 120 -PermitRootLogin yes +PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes -#AuthorizedKeysFile %h/.ssh/authorized_keys +AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes @@ -47,7 +47,7 @@ ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords -#PasswordAuthentication yes +PasswordAuthentication no # Kerberos options #KerberosAuthentication no @@ -84,3 +84,6 @@ # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes + +##User +GatewayPorts yes