Я создал поле Ubuntu Vagrant и ssh'd в него.
Теперь, созданный ssh ключ и пробующий к ssh к моему localhost, но я получаю следующую ошибку.
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
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 говорит единому времени, что что-то слушает на порте 22 на 10.0.2.15. Однако Вы пытаетесь ssh localhost
. Localhost 127.0.0.1 (или:: 1 для IPv6). Из того, что информация, которую Вы предоставляете, ничто не слушает порт 22 на петлевом интерфейсе.
Таким образом ssh localhost
не работает. ssh 10.0.2.15
будет, вероятно, работать.
Если сокет будет слушать определенный интерфейс, то он только получит пакеты, предназначенные для того интерфейса. Сокет может слушать подстановочный знак 0.0.0.0, что означает, что он получит пакеты на том порте в любом интерфейсе. К процессу, слушающему в 0.0.0.0, могут получить доступ и localhost и сетевой адрес хоста.