ssh 公钥验证无效

在设置 ssh 免秘钥登陆的时候,经常碰到设置无效,还是需要输入登陆的情况。这种问题怎么排查呢?

一种方式是给ssh-v选项,但是这个选项输出来的日志往往没什么用。最好的方式是直接让远程机器上的sshd进程输出 debug 信息。

首先,你可以单独再起一个sshd进程,开启调试模式,为了不影响当前的登陆,可以选择另外的端口。例如sudo /usr/sbin/sshd -d -p 80,这样就在 80 端口上起了一个ssh进程。然后,你可以通过-p选项指定 ssh 的端口ssh -p 80 user@ip

这样就可以在远程服务器上看到调试信息了。


ssh-2

这里的问题是~/.ssh目录的权限不对,~/.ssh/目录以及~/.ssh/authorized_keys文件必须都只能你自己拥有写入权限。

修复办法,运行chmod 700 ~/.ssh

linux 里每个文件都有 rwx 三个权限位,3 个二进制位来表示就是,7 对应的就是111,也就是拥有 rwx 的全部权限。同时,每个文件又都有三组权限,分别对应所有者,用户组和其他人。其他两个权限组都是 0,也就是什么权限都没有。

另外,如果想直接调试当前的sshd服务的话,需要运行:

service ssh stop
/usr/sbin/sshd -d
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,532评论 0 16
  • http://blog.csdn.net/pipisorry/article/details/52269785 什...
    950545c4cd64阅读 83,394评论 0 13
  • 加密算法 对称加密算法 加密和解密使用同一个密钥 DES、3DES、AES、Blowfish、Twofish、ID...
    毛利卷卷发阅读 1,620评论 0 4
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,771评论 0 10
  • 基础命令 为了在 sudo 中设置权限提升,您需要编辑 sudoers 文件。 你不应该直接编辑文件,而是使用:s...
    米开朗基乐阅读 1,939评论 0 5