我们运行的是安装了 openssh 客户端和服务器的 ubuntu 14.04。但是,当尝试连接到端口 22 时,我们收到“连接到主机本地主机端口 22:连接被拒绝”的消息。
我们的防火墙上的端口 22 是打开的,我们认为这可以解决我们的问题。
我们已向 ufw 添加了规则并清除/重新安装了 openssh。使用命令时,‘sudo service ssh status’
它显示 ssh 正在运行,但是使用命令 时‘netstat'
,我们没有收到任何消息。测试时,'ps -A | grep sshd'
我们也收到连接被拒绝的消息。'sudo ss –lnp | grep sshd’
‘ssh –v localhost’
我们已重启 ssh 多次,但问题仍然存在。
另外,当我们使用该命令时,'sudo iptables -L'
我们得到以下输出:
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
我们还运行了该命令sudo netstat -tulpn
,得到了以下结果:
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5939 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN -
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp6 0 0 :::139 :::* LISTEN -
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 :::445 :::* LISTEN - tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5939 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN -
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp6 0 0 :::139 :::* LISTEN -
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 :::445 :::* LISTEN -
编辑/更新
端口 22 现在正在监听,但是当我们尝试在 Mac 上通过 ssh 连接时收到以下错误,localhost ssh 有效:
Ubuntu 14.04.2 LTS
Permission denied (publickey).
答案1
OpenSSH 守护程序(或任何其他守护程序)未在端口 22/TCP 上监听。它可能无法启动;请检查您的日志,或尝试从命令行运行它/usr/sbin/sshd -4 -d
并检查消息。
编辑:为了解决身份验证问题,您可能需要在/etc/ssh/sshd_config或者在客户端生成密钥对并添加公钥(id_rsa.pub默认)$HOME/.ssh/authorized_keys目标帐户。
答案2
由于netstat
没有显示端口 22 已绑定,因此配置文件检查可能存在问题/etc/ssh/sshd_config文件来查看它是否阻止连接或在另一个端口上运行,然后通过以下方式重新启动服务:service sshd restart