【问题标题】:ssh Permission denied (publickey) Bind to port 22 on 0.0.0.0 failed: Address already in usessh Permission denied (publickey) Bind to port 22 on 0.0.0.0 failed: Address already in use
【发布时间】:2011-07-19 22:34:54
【问题描述】:

我正在尝试为我的开发盒添加一个密钥公钥,它是一个运行 ubuntu natty 的 vm,但我无法通过 ssh 连接。我试过 rsa 和 dsa,以及这些命令:

exec ssh-agent bash
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_dsa
SSH_AUTH_SOCK=0

我还编辑了我的 sshd_config 文件如下:

ListenAddress 0.0.0.0
AuthorizedKeysFile %h/.ssh/authorized_keys

我也尝试过重启 sshd 和系统。

我想我已经通过运行 sudo /usr/sbin/sshd -Dd 找到了错误,但我不确定如何修复它:

ebug1: sshd version OpenSSH_5.8p1 Debian-1ubuntu3
debug1: read PEM private key done: type RSA
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: private host key: #0 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: private host key: #1 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-Dd'
Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
Cannot bind any address.

感谢您的帮助。

【问题讨论】:

标签: ssh vmware public-key ubuntu-11.04


【解决方案1】:

看起来另一个绑定到端口 22 的进程已经在运行。找出哪个:

sudo netstat -lnp --inet

然后杀死它并重试。

【讨论】:

  • tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 657/nginx tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 656/sshd udp 0 0 0.0.0.0:68 0.0.0.0:* 642/dhclient3
  • 好吧,显然sshd 已经在运行了。在尝试重新启动之前停止它。