即使看起来像我的SSH密钥被接受,我得到提示input密码。 据我所知,下面的日志中的“服务器接受密钥:pkalg ssh–rsa mix 277”这一行意味着我的密钥被接受。
这里是debugging日志:
debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/sam/.ssh/id_rsa debug2: we sent a publickey packet, wait for reply debug1: Server accepts key: pkalg ssh-rsa blen 277 debug2: input_userauth_pk_ok: fp <<HASH REDACTED>> debug1: Authentications that can continue: publickey,password,keyboard-interactive debug1: Trying private key: /home/sam/.ssh/id_dsa debug1: Trying private key: /home/sam/.ssh/id_ecdsa debug2: we did not send a packet, disable method debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug2: we sent a keyboard-interactive packet, wait for reply debug2: input_userauth_info_req debug2: input_userauth_info_req: num_prompts 1
非常感谢,我发现每个人都有SSH问题在我看到的早期点失败。
你的私人钥匙当然不被接受,这只是企图。 基于SSH密钥的身份validation可能会失败,并且日志loggingfunction也不是很好,所以debugging这个特定的问题是我个人的宠儿之一。 我发现这个错误通常是以下情况之一的结果。
~/.ssh/authorized_keys文件太开放了。 为了你自己的保护, sshd试图保护你免受你的伤害。 如果授权密钥文件的权限那么它将无法通过validation。 运行chmod -R go-rwx ~/.ssh 。 ~/.ssh/authorized_keys中的~/.ssh/authorized_keys是格式错误的。 这可能是任何问题的结果,但最常见的是复制粘贴问题。 有些terminal在复制/粘贴屏幕时会将换行解释为新行。 authorized_keys文件中的每个条目都必须是单个行。 您可以通过更改terminal仿真器的大小来查看是否有中断,比较wc -l ~/.ssh/authorized_keys的输出与应该在其中的键的数量,或任何最适合您的键。 只要确保每个键是一行,你应该罚款。 你粘贴的ssh -v输出表明它试图使用这个键,但是这个键不起作用,所以它移动到了键盘交互的状态。
您是否检查过连接到的服务器上的身份validation日志? (例如/var/log/auth.log)。 如果你在远端的设置不正确,例如错误的权限,那么ssh -v(或者-vv或者-vvv)不会告诉你这个,但是它会被sshdlogging下来。
在我的情况下,文件/var/log/authlog显示:
[ID 800047 auth.info] Authentication refused: bad ownership or modes for directory
我已经在.ssh检查了正确的所有权/许可,但$HOME有777个权限。 在$HOME上设置755权限允许sftp工作。 再次感谢。
如果您有权访问服务器(直接或通过其他login),请检查服务器日志(比如说)/ var / log / sshd
它通常是由〜/ .ssh / authorized_keys文件上的权限错误引起的。 确保它不是世界上可读的,但是关键的是它可以被运行sshd的用户(有时是服务用户)读取
远程中~/.ssh/authorized_keys权限是非常重要的(我的系统RHEL和Solaris是600 )
远程主目录权限很重要(在我的系统中为700 )
最后在另外一个端口上以debugging模式运行远程机器上的sshd会有所帮助:
sudo /usr/sbin/sshd -p 5555 -dd
5555是一个示例端口,你可以改变它。 有关这方面的更多信息,你可以看到: http : //ubuntuforums.org/archive/index.php/t-2219973.html
我发现如果使用sshd服务,会出现问题。 为避免此问题,请使用service sshd stop sshd服务,然后使用sudo /usr/sbin/sshd从命令提示符处启动sshd后台进程。
尝试
/sbin/restorecon -r /root/.ssh
设置权限可能存在问题。