使用 ssh 客户端连接到运行 ssh2 服务器的主机

使用 ssh 客户端连接到运行 ssh2 服务器的主机

我正在尝试使用 ssh 客户端 (client_host) 连接到运行 sshd2 的 Linux 主机 (target_host);在此过程中,我将 client_host 的公钥转换为

ssh-keygen -e -f id_rsa.pub > client_host_ssh2_id_rsa.pub

并将 client_host_ssh2_id_rsa.pub 复制到 target_host。但是当我尝试连接时,我收到“无主机密钥算法”

ssh user@target_host -v
OpenSSH_5.1p1, OpenSSL 0.9.8a 11 Oct 2005
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to target [169.35.74.21] port 22.
debug1: Connection established.
debug1: identity file /home/user/.ssh/identity type -1
debug1: identity file /home/user/.ssh/id_rsa type 1
debug1: identity file /home/user/.ssh/id_dsa type 2
debug1: Remote protocol version 2.0, remote software version 6.0.12.81   SSH  Tectia Server
debug1: no match: 6.0.12.81 SSH Tectia Server
debug1: Enabling compatibility mode for protocol 2.0
 debug1: Local version string SSH-2.0-OpenSSH_5.1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
no hostkey alg

有人可以帮我找出我这里遗漏了什么吗?

答案1

最有可能的是,您缺少的是远程机器上的:

 cd $HOME/.ssh;  cat client_host_ssh2_id_rsa.pub >> authorized_keys

如果这还不够,请停止 sshd 守护进程,然后按如下方式重新启动它:

 /usr/sbin/sshd -Dd

这会阻止守护进程,并将错误消息打印到标准输出。当您尝试登录时,您将能够看到服务器端的错误消息,出于明显的安全原因,这些错误消息比客户端的错误消息更具信息量。这将帮助您/我们调试问题。

相关内容