我不能从客户端"A“到服务器"B”(但我可以从许多其他ssh客户端在同一个子网上,而不是"A“-所有都是*nux机器)
serverA>ssh -v -p端口用户@serverB
OpenSSH_5.3p1 Debian-3ubuntu5, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to serverB [serverB] port PORT.
debug1: Connection established.
debug1: identity file /home/user_A/.ssh/id_rsa type -1
debug1: identity file /home/user_A/.ssh/id_dsa type 2
debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5
debug1: match: OpenSSH_5.1p1 Debian-5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
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
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: checking without port identifier
Host key verification failed. 我已经在客户端A上检查了以下几个pts -因为服务器A看起来就是重点--
用户_A/.ssh目录权限: 700 (见man )
我试过:
服务器A上删除相同错误的error
-f /etc/ssh_host_dsa/rsa_key一样工作。
所以我现在真的很累了!ssh专家欢迎回家。
Thx预先
发布于 2011-02-20 18:28:26
不明白我在这台服务器上到底做错了什么。奇怪的是,在客户端销毁"known_hosts“并没有达到预期的积极效果。
无论如何,请在下面找到我手工做的事,很难看,但是很管用:
注意:这假定对两台机器(客户机和服务器)都有完全的访问权限。
服务器端:重新生成2对密钥(rsa和dsa)
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key客户端
为用户"foo“生成一对dsa密钥(私有和公共)
ssh-keygen -t dsa -f /home/foo/.ssh/my_client_key 如果运行,则将此新密钥添加到ssh代理中。
ssh-add /home/foo/.ssh/my_client_key 在IP/端口之后,将服务器ssh_host_rsa_key.pub的内容添加到客户机/home/foo/..ssh/知名主机中:
[server_ip]:server_port copy/paste here the server public rsa key (ctrl+shift+C/V)
[server_ip]:server_port copy/paste here the server public dsa key (ctrl+shift+C/V)现在返回到服务器端:
复制/粘贴客户端公钥/home/..ssh/my_ client _key.PUB到/home/bar/..ssh/. into _ key,以便连接到用户"foo“以连接到"bar”帐户:
确保路径与/etc/ssh/sshd_config的一致性,以便tu能够使用文件.authorized_keys:
AuthorizedKeysFile %h/.ssh/.authorized_keys 重新启动ssh服务器
/etc/init.d/ssh restart client :现在客户机"foo“可以ssh到服务器上的用户"bar”:
foo@client>$ ssh -p PORT bar@server_ip 注意:在我的例子中,客户端和服务器都在VM的本地运行。显然不要将这些设置用于生产。
编辑:更仔细地阅读man页面,应该可以以一种非常恰当的方式处理这个问题:“StrictHostKeyChecking选项可用于控制主机密钥未知或已更改的机器的登录。”
发布于 2012-04-12 00:34:45
在一个我无法控制的嵌入式系统上,我也遇到了同样的问题。我想我修复的方法是手动安装两边的所有公钥。
问题的起因是ssh抱怨“ssh-askpass”没有被找到。这方面的工作是取消$DISPLAY环境变量(是的,完全显而易见)。我在某个地方读到,如果设置了显示,OpenSSH将尝试使用ssh-askpass。所以我做了这个
unset DISPLAY然后我基本上在OP中得到了错误消息。所以,继续,我在这个页面上做了所有的事情来创建和复制从A到B的公钥。
http://knol.google.com/k/how-to-use-ssh-keygen# 我创建了RSA密钥和DSA密钥。我想RSA是旧的,DSA是新的。(看起来它使用的是RSA密钥。)不管怎样,这并不能单独解决问题。
然后我尝试将服务器的"B“公钥复制回客户端”A“的known_hosts。
从服务器B抓取
/etc/ssh/ssh_host_rsa_key.pub然后将其内容添加到
~/.ssh/known_hosts在客户端"A“上,服务器的IP地址"B”加到开头(和一个空格)。
192.168.0.200 ssh-rsa QbJfEdeu4rsgeAAAAAB3Nza.... etc ... ==一个有用的调试技巧是使用-vvv选项对ssh进行超冗长的输出。
发布于 2014-12-09 23:44:50
作为将来的参考,我通过做(从客户端)解决了我认为相同的问题。
$ ssh-keyscan [HOST-SERVER-IP]
# [HOST-SERVER-IP] SSH-2.0-OpenSSH_6.7
[HOST-SERVER-IP] ssh-rsa AAAAB3NzaC1yc2EAAAADA ... etc ... +Zl
# [HOST-SERVER-IP] SSH-2.0-OpenSSH_6.7
[HOST-SERVER-IP] ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTI ... etc ... +1w=然后,我删除了~/.ssh/known_hosts中的所有内容,并复制、粘贴了这两个键,就像它们出现在~/.ssh/known_hosts中一样。
实际上,我只是在一开始复制粘贴ssh-rsa one,因为我认为这是我正在使用的。由于某些原因,这是行不通的,当我复制粘贴第二个钥匙在它的工作就像一个魅力。还要注意的是,我在服务器上的sshd配置中启用了PasswordAuthentication,这样就不用担心密钥了。
https://stackoverflow.com/questions/5049119
复制相似问题