我有两台计算机连接到同一个子网。
第一个(A)运行 14.04,第二个(B)运行 12.04
我可以从第一个 ssh 到第二个,但不能从第二个 ssh 到第一个。
真的不知道从哪里开始才能弄清楚为什么会有这种差异。
然而 nmap 给出了截然不同的结果:
计算机(A),也就是我不能进入:
PORT STATE SERVICE
631/tcp open ipp
我可以进入的计算机(B):
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
由于两者上唯一开放的端口是 631,我尝试从 B 到 A 进行 ssh 并指定端口 631,但这也不起作用。
有人可以告知如何进行吗?
答案1
安装openssh server
在PC A
。
sudo apt-get install openssh-server
您有更多详细信息这里
然后你就可以ssh
进入PC A
PC B
SSH
从事于port 22
。
编辑1
ssh-server
如果你已经在 PC A 上安装,你可以使用命令检查netstat -at
服务器是否期望连接port 22
这是我的电脑的输出
xxx@xxx:~$ netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:microsoft-ds *:* LISTEN
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:ipp *:* LISTEN
tcp 0 0 *:telnet *:* LISTEN
tcp 0 320 xxxx:ssh xxx.xxx.xx.xxx:43423 ESTABLISHED
tcp6 0 0 [::]:microsoft-ds [::]:* LISTEN
tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 [::]:ipp [::]:* LISTEN
tcp6 1 0 ip6-localhost:38900 ip6-localhost:ipp CLOSE_WAIT
重要的是:
tcp 0 0 *:ssh *:* LISTEN
如果您设置ufw
或firewall
禁用它然后尝试连接。
还要重启ssh
服务
sudo service ssh restart
您将看到服务是否启动。
答案2
非常感谢您的回复。我终于解决了这个问题,这要感谢非常有用的帖子
问题是,在我下载的 sshd_server 版本中
apt-get install sshd_server
安装的 sshd_config 文件底部有三行,这被证明是问题的根源
Host *
ForwardAgent yes
ForwardX11 yes
当我删除这些行时,我的远程登录问题就解决了。为了诊断问题,我按照上面线程中的建议,建议使用以下命令关闭 sshd:
service sshd stop
然后以调试模式运行
/usr/sbin/sshd -p 22 -D -d -e
在调试模式下,sshd 标记了默认 sshd_config 文件中的错误选项。
删除这些行并重新启动后,端口 22 就打开了。