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
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行は、何かが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でリッスンしているプロセスには、ローカルホストとホストのネットワークアドレスの両方からアクセスできます。