首先将ssh默认的22端口改了,以防端口被占用冲突,这里我改为2222。(感觉这步其实可有可无)
sudo sed -i '/Port /c Port 2222' /etc/ssh/sshd_config
然后使用ssh指令尝试远程登录
ssh root@localhost -p 2222
报错1:Could not create directory ‘c:\users\\346\210\221/.ssh’.
尝试后发现地址可ping通
最终发现报错原因是因为Windows管理员账户名含有中文,改成英文就好。
Win10家庭版修改方法如下:(其他Windows版本修改管理员账户名较简单,有需要可google)
win10家庭版如何修改用户名对应的文件夹的名字(中文该成英文字符)
当然也可以重装系统来改管理员账户名,但是我个人偏好上面的方法。
修改后再次尝试远程登录
报错2:Could not load host key: /etc/ssh/ssh_host_rsa_key
解决方法:重新安装一遍ssh:
apt remove openssh-server
apt install openssh-server
然后重启服务即可:
sudo service ssh restart
详见WSL的openssh-server使用报错:Could not load host key: /etc/ssh/ssh_host_rsa_key
报错3:Connection closed by 127.0.0.1 port 2222
报错4:ssh: connect to host localhost port 2222: Connection refused
多半是wsl没有启动ssh
sudo service ssh restart
已经可以输密码了
root@localhost’s password:
输完密码回车后报错
报错5:Permission denied, please try again.
有2种可能:
报错原因1:密码不正确,或从来没设置wsl密码
分析:你密码记错了 / Ubuntu 的默认 root 密码是随机的,即每次开机都有一个新的 root 密码。
解决办法:
输入命令
sudo passwd
以修改当前用户的密码。
然后输入当前用户的密码,终端提示我们输入新的密码并确认。
或者输入命令
sudo passwd root
以修改root的密码
报错原因2:没有开启密码和密钥登录,或没有开启允许root认证登录
解决办法:
编辑sshd配置文件
sudo vim /etc/ssh/sshd_config
着重找到以下几项进行修改:
- PermitRootLogin yes #允许root认证登录
- PasswordAuthentication yes #允许密码认证
- RSAAuthentication yes #秘钥认证
- PubkeyAuthentication yes
该方法来源:Linux ssh服务开启秘钥和密码认证
(该配置文件详解见 SSH远程登录配置文件sshd_config详解)
远程登录成功
C:\Users\khamrranirr>ssh root@localhost -p 2222
root@localhost's password:
Permission denied, please try again.
root@localhost's password:
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.4.0-18362-Microsoft x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Tue Nov 3 14:45:36 CST 2020
System load: 0.52 Memory usage: 57% Processes: 9
Usage of /home: unknown Swap usage: 2% Users logged in: 0
=> There were exceptions while processing one or more plugins. See
/var/log/landscape/sysinfo.log for more information.
0 packages can be updated.
0 updates are security updates.
Last login: Thu Sep 24 16:07:38 2020 from ::1
root@DESKTOP-R2EP43N:~#