使用 xshell 登录 Windows 的 linux 子系统
1 配置 SSH Server
# 卸载自带的 ssh
sudo apt-get remove openssh-server
# 安装 ssh
sudo apt-get install openssh-server
# 编辑配置文件
vim /etc/ssh/sshd_config
Port 2222 # 修改端口号,避免和 Windows ssh 服务端口冲突
UsePrivilegeSeparation yes # 使用密码登录
PermitRootLogin yes # 允许使用 root 用户登录
# 重启 ssh 服务
sudo service ssh --full-restart
2 使用 xshell 登录
连接配置
设置用户名和密码
3 Windows 配置开机自启动
3.1 windows 计划任务配置
可以使用windows自带的定时任务计划上添加开机启动Ubuntu ssh服务的任务。
搜索“任务计划程序”,操作-- 创建基本任务:
- 触发器:当计算机启动时
- 操作:启动程序
- 程序名:bash.exe(默认打开的文件夹搜索即可)
- 参数为:
-c "sudo -u root /usr/sbin/sshd"
,开启 linux 子系统的 ssh 服务 - 选择“点击完成打开属性页”按钮,点击完成,打开属性页
- 在属性页选择“使用最高权限运行”
3.2 测试计划任务命令
管理员身份打开 DOS 窗口
cd C:\WINDOWS\system32 # 进入到 bash.exe 所在路径
bash.exe -c "sudo -u root /usr/sbin/sshd" # 输入以下命令,回车
// 弹出如下提示
[sudo] password for user1:
如果上述测试过程出现输入密码的弹窗,就需要为 user1 用户进行后续配置。
3.3 linux 权限配置
配置完计划任务,执行时会因为 sudo root 要求输入密码,但因为任务自启动,不能填充密码。因此,我们可以针对启动用户设置使用 sudo 时无需密码。
只需修改 /etc/sudoers 文件即可。
vim /etc/sudoers
\# 添加以下
user1 ALL=(ALL) NOPASSWD: ALL # user1 用户执行 sudo 时无需密码
再使用 3.2 的步骤测试,发现已经没有输入密码的提示了。
4 计划任务测试
配置完成后,我们可以先关闭 linux 的 ssh 服务
sudo service ssh stop # 关闭 ssh 服务
ps aux | grep ssh # 查看 ssh 服务是否已关闭。只有 --color=auto 这一行。如果有其它行,使用 kill 命令关闭
回到任务计划程序页面.
找到建立的计划任务。右键点击,手动运行,查看运行结果。如果“上次运行结果列”出现“操作成功完成”提示,就表示我们的计划任务配置成功啦!
喜欢就给个大拇指吧!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?