backuppc 服务器能够以 root 身份登录到远程机器并备份它们,但如果我以 backuppc 用户身份登录并尝试使用相同的密钥通过 ssh 进入这些机器,则密钥会被拒绝,并出现以下调试输出:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /var/lib/BackupPC/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXX.XXXXXX.com [XX.XXX.XX.XX] port 222.
debug1: Connection established.
debug1: identity file /var/lib/BackupPC/.ssh/identity type -1
debug1: identity file /var/lib/BackupPC/.ssh/identity-cert type -1
debug3: Not a RSA1 key file /var/lib/BackupPC/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /var/lib/BackupPC/.ssh/id_rsa type 1
debug1: identity file /var/lib/BackupPC/.ssh/id_rsa-cert type -1
debug1: identity file /var/lib/BackupPC/.ssh/id_dsa type -1
debug1: identity file /var/lib/BackupPC/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.1
debug1: match: OpenSSH_6.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug3: Wrote 960 bytes for a total of 981
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug3: Wrote 24 bytes for a total of 1005
debug2: dh_gen_key: priv key bits set: 126/256
debug2: bits set: 1007/2048
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: Wrote 272 bytes for a total of 1277
debug3: put_host_port: [XX.XXX.XX.XX]:222
debug3: put_host_port: [XXX.XXXXX.com]:222
debug3: check_host_in_hostfile: host [XXX.XXXXX.com]:222 filename /var/lib/BackupPC/.ssh/known_hosts
debug3: check_host_in_hostfile: host [XXX.XXXXX.com]:222 filename /var/lib/BackupPC/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 69
debug3: check_host_in_hostfile: host [XX.XXX.XXX.XXX]:222 filename /var/lib/BackupPC/.ssh/known_hosts
debug3: check_host_in_hostfile: host [XX.XXX.XXX.XXX]:222 filename /var/lib/BackupPC/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 69
debug1: Host '[XXX.XXXXX.com]:222' is known and matches the RSA host key.
debug1: Found key in /var/lib/BackupPC/.ssh/known_hosts:69
debug2: bits set: 1045/2048
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: Wrote 16 bytes for a total of 1293
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug3: Wrote 48 bytes for a total of 1341
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /var/lib/BackupPC/.ssh/identity ((nil))
debug2: key: /var/lib/BackupPC/.ssh/id_rsa (0x7fdc6b7a4330)
debug2: key: /var/lib/BackupPC/.ssh/id_dsa ((nil))
debug3: Wrote 64 bytes for a total of 1405
Connection closed by XX.XXX.XXX.XXX
我知道检查~/.ssh
我登录的机器的权限是个好主意,但我的问题是我无法访问它。在我尝试登录远程机器的机器上,目录中的权限设置.ssh
为600
。
drwx------ 2 backuppc backuppc 115 Jul 18 09:50 .
drwxr-x--- 9 backuppc root 125 May 12 19:23 ..
-rw------- 1 backuppc backuppc 0 Jul 17 14:24 authorized_keys
-rw-r--r-- 1 backuppc backuppc 199 May 12 18:30 config
-rw------- 1 backuppc backuppc 1.7K Oct 7 2012 id_rsa
-rw------- 1 backuppc backuppc 413 Oct 7 2012 id_rsa.pub
-rw-r--r-- 1 backuppc backuppc 28K Jul 17 14:18 known_hosts
/etc/hosts.allow
且/etc/hosts.deny
并未被改变。
密钥也不应该被更改,因为它被创建并且没有以错误的格式存储,因为这台机器已经使用它多年了,没有出现问题。到目前为止,我已经重新启动了系统,希望这能帮助修复它,但我真的不知道还能做什么,因为生成新密钥并不是一个真正的选择,因为这些机器离得很远。有人知道我该怎么办吗?
任何建议都将不胜感激。提前致谢。
答案1
如果有人认为有用,请提供附加信息。
此错误可能是由于使用较新版本生成的私钥ssh-keygen
与较旧版本的 ssh 客户端造成的。
我在 OpenSSH_8.3p1 上生成了一个新的密钥对,部署了公钥,并尝试将私钥与版本 5.3p1 客户端一起使用,但出现了同样的错误,然后提示在没有密码的密钥上输入密码。
为了从旧客户端成功登录,我必须使用旧版本的 ssh 生成并部署密钥对。
答案2
这相关答案可能适用于此处。也就是说,您不仅需要检查 ~/.ssh 目录的权限,还需要检查主目录的权限。我不禁注意到,您的750
主目录具有权限,而默认权限通常是700
。尝试更改它,看看是否有帮助?
答案3
抱歉,伙计们,原来在 backuppc 配置中的其他地方使用了不同的名称登录远程服务器。我所做的就是使用正确的用户名,然后我就可以登录了。
:)