SSH连接Win10 Linux子系统

  1. 查看是否开启SSH服务

ps -ef | grep ssh

  1. 安装SSH服务

sudo apt-get remove openssh-server 删除
sudo apt-get install openssh-server 安装

  1. 修改配置端口为22,开启允许密码登录

sudo vim /etc/ssh/sshd_config

Port 22  # 修改配置端口为22
PasswordAuthentication yes  # 开启允许密码登录

或者
vim /etc/ssh/sshd_config Port 22 PasswordAuthentication yes

  1. 重启服务

service ssh restartsudo service ssh --full-restart

  1. xshell登录Linux子系统
    • 查看ip:ifconfig
      image.png
    • 如果xshell连接不成功
## 配置SSH服务
sudo apt-get remove --purge openssh-server   ## 先删ssh
sudo apt-get install openssh-server          ## 在安装ssh  

sudo rm /etc/ssh/ssh_config                  ## 删配置文件,让ssh服务自己想办法链接
sudo service ssh --full-restart              ## 重启
  1. 解除 Ubuntu 禁止 root 远程登录的限制
    在 /etc/ssh/sshd_config 配置文件中添加 PermitRootLogin yes
  1. 终端测试连接
    输入指令:ssh 用户名@域名/IP
    ssh root@0.0.0.0
    ssh 127.0.0.1
    上面命令执行完之后,在xshell中输入用户名和ip就可以通过xshell登录自己电脑的Linux。

  2. 配置永久解决方案
    通过上面的方法,我们可以通过xshell登录自己电脑的Linux。但是断开之后重新开机,我们又需要重新配置SSH。因此,我们需要配置以下命令下,一劳永逸。
    sudo service ssh --full-restart ## 将该命令保存为service.sh,存在home目录下

# >>> service ssh restart >>>
# for Xshell connection
sudo service ssh --full-restart
# <<< service ssh restart <<<

配置好之后,下次开机,只需要在Linux子系统的默认终端运行sh service.sh命令后,关掉终端改用xshell登录即可。

  • 异常处理

sshd: no hostkeys available – exiting.
//重新生成key就好了
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
//或者
sudo ssh-keygen -A

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容