WSL2 Ubuntu固定IP,开机启动SSH

1. 设置SSH

安装wsl2 Ubuntu,后无法启动SSH

1.1 出现的错误包括:

a. start-stop-daemon: unable to set gid to 0 (Operation not permitted)
b. * Starting OpenBSD Secure Shell server sshd sshd: no hostkeys available – exiting.
c. * Starting OpenBSD Secure Shell server sshd [ Fail ]

1.2 解决方案

第一步:修改/etc/ssh/sshd_config文件

Port 22 将前面的#去掉,开启22端口
LinstenAddress 0.0.0.0 将前面的#去掉,监听所有的ip
PasswordAuthentication yes 可以使用账号密码进行登录
PermitRootLogin yes 允许root登录

第二步:新增密钥文件

下述命令会在/etc/ssh下新增6个密钥文件,如果该目录下存在此6个文件,直接第三步

ssh_host_ecdsa_key, ssh_host_ecdsa_key.pub, ssh_host_ed25519_key, ssh_host_ed25519_key.pub, ssh_host_rsa_key, ssh_host_rsa_key.pub

cd /etc/ssh
sudo ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -t ecdsa -b 256 -f /etc/ssh/ssh_host_ecdsa_key
sudo ssh-keygen -t ed25519 -b 256 -f /etc/ssh/ssh_host_ed25519_key

第三步:重启ssh

sudo service ssh restart

第四步:密码重置

通过root账户,使用ssh连接Ubuntu,被拒绝

root密码正确也要重置密码,重置密码时,可以是原密码

通过

sudo passwd root

重置密码

2. 固定IP,自动启动SSH

该脚本能够固定ip,同时能够上网,能够启动ssh。
将脚本放入启动文件夹,使得Windows系统开机会自动设置wsl固定ip,开启ssh。

wsl.bat 文件,内容如下,运行该脚本后 UbuntuIp: 172.18.54.10
@ECHO OFF
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c ""%~s0"" ::","","runas",1)(window.close)&&exit
setlocal enabledelayedexpansion
wsl --shutdown ubuntu
wsl -u root service ssh start
if !errorlevel! equ 0 (
    wsl -u root ip addr | findstr "172.18.54.10" > nul
    if !errorlevel! equ 0 (
        echo wsl ip has set: 172.18.54.10
    ) else (
        wsl -u root ip addr add 172.18.54.10/16 broadcast 172.18.54.0 dev eth0 label eth0:1
        echo set wsl ip success: 172.18.54.10
    )
    ipconfig | findstr "172.18.54.1" > nul
    if !errorlevel! equ 0 (
        echo windows ip has set: 172.18.54.1
    ) else (
        netsh interface ip add address "vEthernet (WSL)" 172.18.54.1 255.255.0.0
        echo set windows ip success: 172.18.54.1
    )
)
ping 172.18.54.10
pause

3. 参考资料

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值