设置本地 SSH 服务器时出现问题

设置本地 SSH 服务器时出现问题

我正在尝试将我的一台 Linux 计算机设置为 ssh 服务器,但是无法连接到它。

我已经在两台计算机(客户端和服务器)上安装了 openssh-server 和 openssh-client。

如果我运行sudo service ssh start,我会得到start: Job is already running: ssh,因此 ssh 确实正在运行。此外,ps aux | grep -i ssh返回

1000 2270 0.0 0.0 4080 24 ? Ss 06:04 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session mate-session

1000 2286 0.0 0.3 59104 7832 ? Sl 06:04 0:00 /usr/bin/mate-keyring-daemon --start --components=ssh

1000 6333 0.0 0.0 6684 1132 ? Ss 07:29 0:00 /usr/sbin/sshd

root 12622 0.0 0.1 6684 2432 ? Ss 08:09 0:00 /usr/sbin/sshd -D

1000 13978 0.0 0.0 4392 844 pts/0 S+ 08:33 0:00 grep --color=auto -i ssh

如果我ssh localhost在服务器上运行,我可以连接。但如果我在局域网上的其他计算机上尝试,则无法连接。

我已经设置并运行了 Samba 共享,因此我认为这不是防火墙问题。

任何帮助,将不胜感激。

答案1

检查 ssh 是否正在监听端口 0.0.0.0:22/TCP

$ sudo netstat -putan | grep LIST | grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      4330/sshd       
tcp6       0      0 :::22                   :::*                    LISTEN      4330/sshd       

如果正在监听,请检查您是否有防火墙:

sudo iptables -L INPUT -n -v

如果出现很多行,你可以启用 UFW 检查它:sudo ufw status

如果已启用,请尝试添加一条规则以允许 ssh:

 sudo ufw allow ssh

之后尝试再次连接 ssh。如果不行,你可以使用下一行完全禁用防火墙,然后重试:sudo iptables -F

(请注意,上面的行不是永久的,因此,如果您重新启动计算机,防火墙可能会重新启动,禁用或正确配置防火墙)

相关内容