![为同一主机在 authorized_keys 中导入多个密钥](https://linux22.com/image/1528632/%E4%B8%BA%E5%90%8C%E4%B8%80%E4%B8%BB%E6%9C%BA%E5%9C%A8%20authorized_keys%20%E4%B8%AD%E5%AF%BC%E5%85%A5%E5%A4%9A%E4%B8%AA%E5%AF%86%E9%92%A5.png)
我第一次为两台服务器设置无密码 SSH 连接。我之前已通过 vi 将公钥导入 authorized_keys,但由于此操作失败,因此我已要求远程服务器团队(使用 PSCP 的 Windows)生成另一个 pri/pub 密钥对,并通过在 authorized_keys 文件中附加新密钥来导入最新密钥。但是,我尚未从 authorized_keys 中删除较早的密钥,SSH 仍然因相同的错误而失败。您能告诉我这是否是失败的原因吗?以下是从尝试连接的远程服务器的 PSCP 日志生成的日志集 事件
日志:将新会话日志(SSH 数据包模式)写入文件:D:\ssh\ssh.txt
事件日志:服务器版本:SSH-2.0-OpenSSH_5.3
事件日志:我们认为远程版本存在 SSH-2 通道请求错误
事件日志:使用 SSH 协议版本 2
传出数据包 #0x0,类型 20 / 0x14(SSH2_MSG_KEXINIT)
传入数据包 #0x0,类型 20 / 0x14(SSH2_MSG_KEXINIT)
事件日志:进行 Diffie-Hellman 组交换
传出数据包 #0x1,类型 34 / 0x22(SSH2_MSG_KEX_DH_GEX_REQUEST)
传入数据包 #0x1,类型 31 / 0x1f(SSH2_MSG_KEX_DH_GEX_GROUP)
事件日志:使用哈希进行 Diffie-Hellman 密钥交换SHA-256
传出数据包 #0x2,类型 32 / 0x20(SSH2_MSG_KEX_DH_GEX_INIT)
传入数据包 #0x2,类型 33 / 0x21(SSH2_MSG_KEX_DH_GEX_REPLY)
事件日志:主机密钥指纹为:
传出数据包 #0x3,类型 21 / 0x15(SSH2_MSG_NEWKEYS)
事件日志:初始化 AES-128 SDCTR 客户端->服务器加密
事件日志:初始化 HMAC-SHA-256 客户端->服务器 MAC 算法
传入数据包 #0x3,类型 21 / 0x15(SSH2_MSG_NEWKEYS)
事件日志:初始化 AES-128 SDCTR 服务器->客户端加密
事件日志:初始化 HMAC-SHA-256 服务器->客户端 MAC 算法
传出数据包 #0x4,类型 5 / 0x05 (SSH2_MSG_SERVICE_REQUEST)
传入数据包 #0x4,类型 6 / 0x06 (SSH2_MSG_SERVICE_ACCEPT)
事件日志:读取私钥文件“key.ppk”
传出数据包 #0x5,类型 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST)
传入数据包 #0x5,类型 53 / 0x35 (SSH2_MSG_USERAUTH_BANNER)
传入数据包 #0x6,类型 51 / 0x33 (SSH2_MSG_USERAUTH_FAILURE)
传出数据包 #0x6,类型 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST)
事件日志:提供的公钥
传入数据包 #0x7,类型 60 / 0x3c (SSH2_MSG_USERAUTH_PK_OK)
事件日志:接受提供的公钥
传出数据包 #0x7,类型 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST)
事件日志:已发送公钥签名
事件日志:服务器意外关闭网络连接
以下是通过 pscp 的 -v 选项生成的尝试连接到 Linux 的 Windows 服务器日志
C:\Users\User>pscp -i "private.ppk" -P 22 -l User -v -sftp "file.txt" server.domain.com:/outboundpath/
查找主机“server.domain.com”
连接到 199.199.199.127 端口 22
我们声称版本:SSH-2.0-PuTTY_Release_0.67
服务器版本:SSH-2.0-OpenSSH_5.3
我们认为远程版本有 SSH-2 通道请求错误
使用 SSH 协议版本 2
进行 Diffie-Hellman 组交换
使用哈希 SHA-256 进行 Diffie-Hellman 密钥交换
主机密钥指纹为:
ssh-rsa 2048
初始化 AES-128 SDCTR 客户端->服务器加密
初始化 HMAC-SHA-256 客户端->服务器 MAC 算法
初始化 AES-128 SDCTR 服务器->客户端加密
初始化 HMAC-SHA-256 服务器->客户端 MAC 算法
读取私钥文件“private.ppk”
使用用户名“connect”。法律声明
You may commit a criminal offence if you act outside your
authority in relation to this computer.
提供的公钥
接受提供的公钥
使用公钥“rsa-key-20170424”进行身份验证
发送公钥签名
服务器意外关闭网络连接
严重:服务器意外关闭网络连接
答案1
通常,此类错误与公钥拒绝或权限错误有关。请仔细检查服务器是否使用了正确的权限.ssh
,并.authorized_keys
仔细检查授权密钥文件中的密钥是否没有多余的空格或回车符。
authorized_keys 文件可以包含多个密钥。粘贴时请确保密钥中没有换行符,否则将被视为无效。这主要适用于 Windows 编辑程序,只需仔细检查是否将其粘贴为一行即可。您还可以使用ssh-copy-id
自动将复制过程复制到服务器。您必须暂时使用密码验证才能使其正常工作