使用 OpenSSH 密钥连接 SSH

使用 OpenSSH 密钥连接 SSH

我有一台 CentOS 6 服务器,我想用私钥连接它。

在 Windows 上,我使用 PuTTY Keygen 并将公钥粘贴到我的服务器中.ssh/authorized_keys2(也尝试过authorized_keys,不记得为什么使用authorized_keys2)。

然后,我保存私钥“name.ppk”并将其与PuTTY(和pageant)一起使用。到那时一切都正常。连接成功。

当我尝试从另一个 Linux 系统连接时出现了问题。

我使用 puttykeygen 导出选项导出 OpenSSH 密钥并从我的其他 Linux 系统中使用它,但它不起作用。它总是说

权限被拒绝(publickey,gssapi-with-mic)

还尝试使用以下命令从其他 Linux 系统创建密钥:

ssh-keygen -t dsa

(和-t rsa)并将公钥粘贴到我想要连接的 CentOS 服务器上。我尝试将其粘贴到两个文件(authorized_keysauthorized_keys2)中,但没有任何效果。

事实上,我曾尝试从另一台真正的 CentOS 服务器、同一个 Windows 7 上的一个可以使用 PuTTY 连接的 CentOS 虚拟服务器以及同一个 Windows 7 上的一个 Debian 虚拟服务器进行连接。

CentOS 虚拟服务器和 Debian 虚拟服务器可以使用密钥相互连接。

此外,配置也不同。两个虚拟服务器都sshd_config默认使用,而主 CentOS 6 服务器的配置是我多年前发现的,旨在使其更安全,禁用无密钥登录等。

这是我的 CentOS 6 配置(没有一些注释):

Port xxxx
Protocol 2

SyslogFacility AUTHPRIV

PermitRootLogin yes
PasswordAuthentication no

ChallengeResponseAuthentication no

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

UsePAM no

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT 
AcceptEnv LC_IDENTIFICATION LC_ALL
X11Forwarding yes
UseDNS no

Subsystem   sftp    /usr/libexec/openssh/sftp-server

相关内容