当前位置:   article > 正文

MacOS 远程ssh登录自己Windows电脑里的WLS Linux子系统_macos openssh

macos openssh

环境准备:

  1. Windows11一台(本人ThinkPad T16)
  2. MacBook Pro
  3. 两台电脑在同一个局域网内

Windows wls安装ubuntu(本人18.04)并设置ssh登录:

1、修改软件源,否则国内下载很慢

  1. sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
  2. sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
  3. sudo apt update && sudo apt upgrade -y

2、安装配置 ssh 服务

sudo apt install openssh-server

3、修改配置

sudo vim /etc/ssh/sshd_config

  将如下内容修改:

Port 3333  # 端口根据自己意愿来
AddressFamily any
ListenAddress 0.0.0.0
PasswordAuthentication yes

4、启动ssh服务

  1. # 如果启动遇到这个错误 请执行下面命令: sshd: no hostkeys available -- exiting
  2. sudo ssh-keygen -A
  3. # 启动ssh服务
  4. sudo /usr/sbin/service ssh start

Windows防火墙设置:

打开控制面板\系统和安全\Windows Defender 防火墙。

  • 最左边有高级设置
  • 右键点击入站规则
  • 新建入站规则
  • 点击端口,特定端口设置 3333
  • 然后命名之后一路下一步就行

或者通过 shell 设置,以管理员身份打开 PowerShell:

New-NetFirewallRule -Name sshd -DisplayName 'sshd for WSL' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 3333

设置完成后可在windows wls里测试ssh自连接(ssh localhost)和Power Shell中通过ssh命令连接wsl子系统 

端口转发(重要):

Macbook 连接windows的wls,需要做端口转发,否则ssh连接的地址始终是windows本机,无法连接到子系统,毕竟wls子系统是个虚拟机。

管理员在Power Shell执行:

  1. ​​​​​​​netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=[PORT] connectaddress=[IP] connectport=[PORT]
  2. # PORT 为你设置的端口,我这里为3333
  3. # IP地址为wls linux子系统的ip地址,可通过ifconfig查看

使用MacBook 远程ssh连接 :

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/795957
推荐阅读
相关标签
  

闽ICP备14008679号