我在VirtualBox中运行了一个ubuntu 14.04 vm。
我正在尝试设置公钥身份验证。
我使用-vvv参数获得以下调试信息:
hduser@peter-VirtualBox:/var/log$ ssh -vvv localhost
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: connect to address 127.0.0.1 port 22: Connection refused
ssh: connect to host localhost port 22: Connection refused
我搜索了一些论坛,发现一个建议,我确认我的主目录,〜/ .ssh和〜/ .ssh / authorized_keys文件只能由我自己写,这是真的。
有人有什么建议吗?
答案 0 :(得分:0)
显然SSH服务器sshd
没有在端口22上侦听。你安装了它吗? (彼得建议的指南:https://help.ubuntu.com/14.04/serverguide/openssh-server.html)
sshd
无法启动的另一个原因可能是/etc/ssh/sshd_config
中的错误配置。该错误消息应出现在/var/log/auth.log
日志文件中。或者,您可以尝试运行sudo service ssh start
。然后还应在当前窗口中打印错误消息。
最后,sshd
可能正在侦听非默认端口。但是,通常您会意识到这一点,因为它需要手动更改配置。您可以通过致电sudo netstat -tulpen
来了解所有开放端口的概况。在默认情况下,sshd
列中的Program name
和0.0.0.0:22
列中的LocalAddress
会有一行。这意味着sshd正在侦听端口22(0.0.0.0
)上可用的所有ipv4接口(:22
)。如果您在那里找到不同的端口(例如12345),则可以使用-p
标记(ssh localhost -p 12345
)告诉ssh连接到它。