不同版本的 openSSH 之间无法使用公钥/私钥进行连接

不同版本的 openSSH 之间无法使用公钥/私钥进行连接

我每次都会生成公钥/私钥,以便使用 ssh 连接到服务器,而无需写入密码。我正在使用:

客户:Debian GNU/Linux 8.2 (jessie) 带内核 3.16.0-4-amd64 OpenSSH_6.7p1 Debian-5、OpenSSL 1.0.1k 2015 年 1 月 8 日

服务器:CentOS 6.6 版(最终版),内核为 2.6.32-504.16.2.el6.x86_64 OpenSSH_5.3p1,OpenSSL 1.0.1e-fips,2013 年 2 月 11 日

我按照步骤建议生成密钥DebianCentOS网页。

但是当我尝试使用连接到服务器时ssh -p ## 用户@服务器,ssh 仍然提示输入密码。

我想声明当我输入密码时我可以登录服务器,但我想不使用密码登录。

有人知道如何解决这个问题吗?

客户

ssh -vvv
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]

服务器

ssh -vvv
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]

客户

ls -l .ssh/

total 12
-rw------- 1 client client 1766 nov  8 12:51 id_rsa_zeus
-rw-r--r-- 1 client client  395 nov  8 12:51 id_rsa_zeus.pub
-rw-r--r-- 1 client client 3493 ago 19 15:56 known_hosts

ls -Z .ssh/

? id_rsa_zeus  ? id_rsa_zeus.pub  ? known_hosts

服务器

ls -l .ssh/

total 4
-rw------- 1 server user 395 nov  8 12:21 authorized_keys

ls -Z .ssh/

-rw------- server user ?                                authorized_keys

答案1

尝试:

ssh -p 22 -i /完整路径/privateKeyFileName -l 用户服务器名称

如果这不起作用,请检查 SSH 授权日志(例如,OpenSSH 的 /var/log/authlog,尽管 OpenSSH 便携版可能会有所不同……尝试“ls -ltr /var/log/”来确定最近更改的日志文件)以查看是否提供线索。如果公钥位于服务器上的正确位置(在 ~/.ssh/authorized_keys 文件中),则最有可能的问题在于权限。

顺便说一句,我不确定 -p 0000 是否有效。默认值为 22,您绝对可以将其自定义为 1-65535 之间的其他数字。

相关内容