我一直遇到 SSH 问题
我尝试连接时总是出现此消息:
Connection closed by 192.168.1.10 port 22
当我检查 SSH 状态时
ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab Active: active (running) since Sun 2017-01-01 23:17:08 GMT; 57min ago Process: 804 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS Main PID: 487 (sshd) CGroup: /system.slice/ssh.service
└─487 /usr/sbin/sshd -D
Jan 01 23:17:14 kevin-desktop sshd[487]: Server listening on :: port
22. Jan 02 00:14:09 kevin-desktop sshd[2078]: error: key_load_public: invalid format Jan 02 00:14:09 kevin-desktop sshd[2078]: error: Could not load host key: /etc/s Jan 02 00:14:09 kevin-desktop sshd[2078]: error: key_load_public: invalid format Jan 02 00:14:09 kevin-desktop sshd[2078]: error: Could not load host key: /etc/s Jan 02 00:14:09 kevin-desktop sshd[2078]: error: key_load_public: invalid format Jan 02 00:14:09 kevin-desktop sshd[2078]: error: Could not load host key: /etc/s Jan 02 00:14:09 kevin-desktop sshd[2078]: error: key_load_public: invalid format Jan 02 00:14:09 kevin-desktop sshd[2078]: error: Could not load host key: /etc/s Jan 02 00:14:09 kevin-desktop sshd[2078]: fatal: No supported key exchange algor
答案1
我自己也见过这种情况,这是因为主机密钥损坏了。您可以通过以下方式重置它们:
sudo rm /etc/ssh/ssh_host_* && sudo dpkg-reconfigure openssh-server
我还没弄清楚它们为何会被破坏。
答案2
在客户端上使用以下命令生成一组新密钥:
ssh-keygen
从客户端获取公钥的内容:
~/.ssh/id_rsa.pub
并将它们附加到服务器上的授权密钥文件中:
~/.ssh/authorized_keys
服务器上的权限应如下所示:
-rw------- 1 user1 user1 399 Apr 20 09:04 authorized_keys
drwx------ 2 user1 user1 4096 Apr 20 09:04 .ssh
答案3
fatal: No supported key exchange algor...
您的客户端支持的算法似乎与服务器支持的算法不同。LogLevel DEBUG
在服务器中设置/etc/ssh/sshd_config
并使用它ssh -vvv
以获取有关失败原因的更多信息。