linux环境是刚刚搭建的。
root权限下:
service ssh status 显示是开启的。
使用xshell 连接失败。重启service ssh restart 报错如下:
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
检查了下/etc/ssh/下确实没有这几个密钥文件。
那就需要重新生成密钥。(查了有些资料,说是让重新安装ssh,其实不用,可以生成密钥就行,输入下面的命令)
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
生成rsa_key (-t表示生成的密钥所使用的加密类型;-f项后接要生成的密钥文件名)
需要输入密码时候,直接点击enter键就行。
完了之后,如果没启动,就启动,如果启动了,就重启。便不再报错。
使用xshell连接linux,连接成功了,不过在输入密码时候,出现如下问题。
无法输入密码,然后确定按钮是灰化的。
sudo vim /etc/ssh/sshd_config
修改
PasswordAuthentication no
no改为yes,重新连接,便可以正常使用。