赞
踩
此文章欢迎访问我的个人博客:https://qiandao.space/archives/portmapping
mac端ssh连接win
mac端ssh连接win上的linux虚拟机
win端ssh连接mac
日常开发时要开一些虚拟机或是其他的一些服务,全都放在一台电脑上压力有点大,就想着能不能把某些服务开在其他电脑上,这样用一台电脑去连接,毕竟都在一个局域网内,想着也能实现,就去查了一些资料,结果零零散散的,很多都是失败的,尤其是用mac连接win上的linux虚拟机,怎么查也查不到。。。
系统说明
- macOS13.1
- windowns11
- Centos7(win内部虚拟机,使用VMware)
mac与win同在一个局域网内,比如连接到同一个Wi-Fi
192.168.0.5
ipconfig
查看mac的ip为192.168.0.7
此时直接互相ping是ping不通的
在设置中的搜索栏进入
或是在控制面板关闭防火墙即可
转到设置->网络,可以看到防火墙时默认打开的,这里关闭即可
此时再互相ping发现可以ping通
这样才可以进行下面的操作
mac上默认安装了ssh服务,但是没有启用
转到设置->通用->共享,打开远程登录即可
此时可以在终端中验证:
sudo systemsetup -getremotelogin
On代表ssh服务已开启
或者直接使用命令开启:
sudo systemsetup -setremotelogin on
此时可以用ssh连接到你的Mac
在win上下载ssh客户端工具,这里使用Termius,普通版并不收费,同时自带sftp工具
端口号默认是22,输入ip、用户名、密码即可
用户名可以在访达中查看:
连接成功,用于mac比较像linux,所以大多命令与linux都是互通的
同样通过sftp工具可以访问mac上的任意文件,实测局域网下的速度大概能达到6MB/s左右
首先在win上安装openSSH工具
进入设置->应用->可选功能->添加可选功能->选择OpenSSH服务器,下载即可
但是这里我安装提示失败,所以提供另一种方式手动安装
转到https://github.com/PowerShell/Win32-OpenSSH/releases,下载其中的OpenSSH-Win64.zip
解压至指定位置
运行服务:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
#要在管理员权限下运行
成功会提示三个成功!
之后启动sshd服务:
net start sshd
到此服务已经安装完毕,默认端口一是22,默认用户名密码为Window用户名和密码
同样在文件管理处查看最准确:
连接即可:
不过个人认为win的终端工具有点傻,简直不要太难用,所以这个基本没啥用,但是连上sftp传文件还是挺方便的
首先,如果虚拟机的网络使用的是桥接模式,则虚拟机将分配与物理网络中的其他设备相同的IP地址,可以通过ifconfig查看,比如可能是192.168.0.8
。因此,可以像连接win一样连接到虚拟机,这样后面就没啥可说的了。
如果使用的是NAT模式,则就要配置一番了!
在NAT模式下,虚拟机使用虚拟网络适配器连接到win的虚拟网络中,意味着虚拟机的IP地址和端口与win和win所在的物理网络不相关,所以无法通过物理网络直接访问虚拟机。
为了使win和物理网络上的其他设备即我的mac能够访问虚拟机,我们要配置端口映射,端口映射就将win主机上的一个端口映射到虚拟机的一个端口上。当win主机或其他设备比如mac连接到映射的端口时,请求将转发到虚拟机的相应端口,从而实现与虚拟机的通信。
理解了原理,我们来实操一下!
首先端口映射是从VMware 6.5版本后才开始引入的功能,现在应该没有人还在用这么老的版本吧。。。
可以看到
点击添加,按照提示填写即可
一直确定即可!
通过工具可连接win内部的虚拟机:
到这里就配置好了,但是每次重启网络后每台电脑包括虚拟机的ip都会变化,因此我们可以配置静态ip,其中比较好配置的就是虚拟机的ip的,因为NAT本来就是虚拟网络,物理网络中是不存在的。
编辑此文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
设置内容(更改下文有注释的即可):
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" #改为static网络 DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="0bc8ccc6-3633-4d26-b522-14c79f744014" DEVICE="ens33" ONBOOT="yes" #改为yes,系统启动的使用网络接口有效 IPADDR=192.168.162.130 #指定的静态ip,注意前缀和网关一样 GATEWAY=192.168.162.2 #网关,可在WMware中查看 DNS1=8.8.8.8 #域名解析器
之后重启网络服务或重启系统即可生效:
service network restart #重启网络服务
reboot #重启系统
那有如何配置每台电脑的局域网ip为静态呢?本文就不做介绍了,当然不配置的话也行,更方便一点的做法是在hosts文件里映射一个电脑名称,后面应用这个名称,每当ip变化的时候修改hosts文件中的ip即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。