连接到主机本地主机端口 22:连接被拒绝

连接到主机本地主机端口 22:连接被拒绝

我创建了一个 Ubuntu Vagrant 盒子并通过 ssh 进入它。

现在,创建了一个 ssh 密钥并尝试 ssh 到我的本地主机,但我收到以下错误。

vagrant@vagrant-ubuntu-trusty-64:~$ ssh -vvvv 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

当我检查打开的端口列表时,如下所示:

vagrant@vagrant-ubuntu-trusty-64:~$ sudo netstat -tulpn|grep 22
tcp        0      0 10.0.2.15:22            0.0.0.0:*               
LISTEN      11598/sshd

我看到 IP 地址是 10.0.2.15:22。此外,我的 sshd 服务也在运行。

vagrant@vagrant-ubuntu-trusty-64:~$ ps aux|grep ssh
root     11430  0.0  0.7  68084  3688 ?        Ss   17:41   0:00 sshd: vagrant [priv]
vagrant  11432  0.0  0.3  68216  1908 ?        S    17:41   0:00 sshd: vagrant@pts/0 
root     11598  0.0  0.6  61388  3060 ?        Ss   17:44   0:00 /usr/sbin/sshd -D

答案1

vagrant@vagrant-ubuntu-trusty-64:~$ ssh -vvvv localhost 

[...]

vagrant@vagrant-ubuntu-trusty-64:~$ sudo netstat -tulpn|grep 22
tcp        0      0 10.0.2.15:22            0.0.0.0:*    

10.0.2.15:22 这一行告诉 ut,有东西正在监听 10.0.2.15 上的端口 22。但是,您尝试ssh localhost。Localhost 是 127.0.0.1(对于 IPv6 则为 ::1)。从您提供的信息来看,没有任何东西在环回接口上监听端口 22。

因此ssh localhost不起作用。ssh 10.0.2.15可能会起作用。

如果套接字侦听特定接口,它将仅接收发往该接口的数据包。套接字可以侦听通配符 0.0.0.0,这意味着它将在任何接口上接收该端口上的数据包。本地主机和主机的网络地址都可以访问在 0.0.0.0 侦听的进程。

相关内容