||
最近一台电脑(Linux系统)的硬盘因突然断电而无法使用,更换新的后,装Linux系统后,仍然无法实现SSH互访,由于对Linux知之甚少,所以折腾了几天才弄清楚个中原因。
问题描述:电脑A、B均装有Linux系统、SSH程序,A、B均设置了固定的IP、子网掩码、DNS等,然而A可以通过SSH登录B,B却不可以通过SSH登录A;另,A可以ping通B的IP,B亦可以ping通A的IP。(A、B经交换机连通)
这种情况可能有如下几种原因:
1)电脑A的问题:A的防火墙不允许B登录访问,B的防火墙允许A登录访问。
解决方法:关闭A的防火墙,或对B添加相应的允许访问指令(ssh的端口号多为22,redhat的防火墙对应iptables,kubuntu 9.10的防火墙对应ufw)。
2)电脑B的问题:B的~/.ssh/known_hosts文件中已存储有旧的A的rsa_key,因而SSH登录A必然因密钥错误而无法登陆;A的~/.ssh/known_hosts文件中没有B的rsa_key,因而可以SSH登录B(首次登录时在known_hosts中自动生成rsa_key)。
解决方法:在A中运行ssh localhost,将known_hosts中本机的rsa_key复制到B中known_hosts中即可(更新B机器中存储的A的SSH密钥)。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-11 05:18
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社