pno*_*ata 3 linux ssh ssh-keys authorized-keys ubuntu-12.04
我家里有 2 台笔记本电脑,都运行 Ubuntu 12.04(台式机),并且都使用相同的 NetGear wifi 路由器。我在其中一台机器上使用了一种称为“MAC 绑定”的技术,以便路由器在每次尝试连接到 Internet 时始终为其分配相同的 192.168.1.52 IP 地址。(无关:MAC 绑定只是意味着将路由器配置为始终将特定 MAC 地址绑定到特定 IP。)
所以现在,我有 1 台笔记本电脑总是被分配一个在 192.168.1.1 到 192.168.1.50 范围内的随机 IP,还有 1 台笔记本电脑(我的“构建服务器”)总是被分配 192.168.1.52。
我正在尝试编写一些 bash 脚本,我将在“客户端”笔记本电脑(随机 IP 机器)上运行该脚本,该脚本将ssh
进入构建服务器(192.169.1.52 机器);因此,构建服务器必须从我的 LAN 内部拥有一个“专用”IP。我不想明确地为这些 bash 脚本提供密码,所以我按照本文中的说明在这里生成了 SSH 密钥。具体来说,我:
id_rsa.pub
文件)scp
将id_rsa.pub
文件cat
放入我的构建服务器,并将它放入~/.ssh/authorized_keys
文件中。我验证了我的客户端笔记本电脑的 SSH 密钥现在存在authorized_keys
于构建服务器上的文件中。这里发生了什么?为什么我的构建服务器上的 SSH 不接受来自我的客户端笔记本电脑的授权密钥?我是否需要重新启动构建服务器上的任何内容(sshd
等)?我错过了这里的任何关键步骤吗?如何开始故障排除?提前致谢!
更新:显然Ubuntu的没有/var/log/secure.log
,但确实有/var/log/auth.log
。当我在构建服务器上跟踪此日志,然后尝试从我的客户端笔记本电脑通过 SSH 连接到构建服务器时,会发生以下情况:
ssh myuser@buildserver
从客户端笔记本电脑运行auth.log
文件中看到以下输出:
May 21 12:02:07 buildserver sshd[28930]: error: RSA_public_decrypt failed: error:0407006A:lib(4):func(112):reason(106)
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: Called
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: username = [myuser]
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: /home/myuser is already mounted
May 21 12:02:10 buildserver sshd[28930]: Accepted password for myuser from 192.168.1.3 port 39821 ssh2
May 21 12:02:10 buildserver sshd[28930]: pam_unix(sshd:session): session opened for user myuser by (uid=0)
May 21 12:02:10 buildserver sshd[29003]: Received disconnect from 192.168.1.3: 11: disconnected by user
May 21 12:02:10 buildserver sshd[28930]: pam_unix(sshd:session): session closed for user myuser
Run Code Online (Sandbox Code Playgroud)
也许我应该提到的一些事情:在两台机器上(客户端笔记本电脑和我的构建服务器,用户名/帐户名是myuser
) - Linux 是否会因为两台机器上的用户名相同而感到困惑?
第一步:用/etc/init.d/sshd restart
. 此外,请确保对authorized_users 文件的权限正确。验证、使用chmod 600 ~/.ssh/authorized_keys
并确保它归您登录的用户所有。