文章目录
在 Windows 主机上是可以访问本地局域网中的 Linux 主机的。这样做之所以可行,是因为在计算机网络中,只要两台主机位于同一网络,它们之间就可以进行通信,这与这个网络是不是互联网无关。换句话说,从硬件层面上,只需要通过一台路由器就可以实现两台主机的通信,而该路由器不一定需要连接互联网。
这里,笔者使用了路由器来连接两台主机。其中一台主机的操作系统为 Windows 10,另一台为 CentOS Stream 8。现在使用 Windows 10 来访问 CentOS Stream 8。具体的运行环境如下:
笔者的运行环境:
硬件层面:
两台主机
一台无需联网的路由器
客户端:
Windows 10 教育版
Xshell 7
Xftp 7
服务器:
- CentOS Stream 8
从软件层面上,Windows 10 不方便直接访问 Linux 操作系统,因此需要借助一些终端模拟软件。这种软件有很多,如 Xshell
、Xmanager
、MobaXterm
等。笔者这里使用的是 Xshell
。下面是具体的实现步骤。
使用 Xshell 建立远程连接
-
在客户端上依次安装
Windows 10
、Xshell
。不过要提醒的是,Xshell
不是免费的。 -
在服务器上安装一个 Linux 操作系统。 Linux 操作系统有很多,关于这方面的资料,可见笔者的其它博客:
各种操作系统安装教程大全:
https://blog.youkuaiyun.com/wangpaiblog/article/details/115436520 -
如果没使用
宿主机-虚拟机
,而是使用的是现实中的两台机器,则需要使用路由器将这两台主机连接起来。一般说来,路由器会有一个 WAN 口,多个 LAN 口。其中,WAN 口用于连接外界的网络,LAN 口用于连接内部的网络或主机。这里,由于路由器可联互联网,也可不联,因此 WAN 口可用可不用,这取决于想不想让这两台主机访问互联网。但 LAN 口要用于连接这两台主机,不可不用。 -
在 Linux 主机上打开命令行。输入命令
ifconfig
来查看 Linux 主机的 IP。 -
此时会出现一大段的文字。如:
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::5648:10ff:fed6:9599 prefixlen 64 scopeid 0x20<link> ether 54:48:10:d6:95:99 txqueuelen 1000 (Ethernet) RX packets 1774 bytes 161112 (157.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 448 bytes 51462 (50.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 7034 bytes 518784 (506.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7034 bytes 518784 (506.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:aa:17:b7 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp3s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether ee:ea:7b:68:90:e9 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-
这里不想详细解释上面各字段的含义,只是指出,查看所需 IP 的方法是,关注上述
enp2s0
中的inet
的内容即可。这里的 IP 为192.168.0.100
。注意,如果前面没有令路由器联网,此处的 IP 应该为一种专用地址192.168.XXX.XXX
(不是环回地址127.0.0.1
)。
【注意】
如果读者使用的是刚安装 VMware Workstation 虚拟机来充当服务端,此处有可能还没有
inet
字段。这种情况下,需要先构建虚拟机所在的局域网,然后设置该虚拟机的静态 IP。关于这方面的内容,可见笔者的另一篇博客:VMware Workstation 入门使用:
https://blog.youkuaiyun.com/wangpaiblog/article/details/121760068
-
打开 Xshell。按照如图操作。
-
填写相应的信息。关键的信息为
协议
、主机
、端口号
。其中,主机为上面 Linux 操作系统中的 IP。如果协议为 SSH,则端口号要使用 22。这个协议也可以设置为其它,这要根据自己的需求决定。如果只是要使用目标 Linux 的命令行,协议只需要使用 SSH。 -
连接目标 Linux 主机,接收目标主机的密钥。现在应该就已经连接上了目标 Linux 主机。如果还下载了 Xftp,此时还可以立刻以资源管理器的方式访问目标 Linux 主机的文件。
【踩坑提醒】
如果在安装 Linux 时没有开启允许使用 root 账号进行远程登录,则此处的登录可能会失败。解决办法可见笔者的另一篇博客:
解决 Xshell 无法使用 root 账户远程登录 Linux 的问题:
https://blog.youkuaiyun.com/wangpaiblog/article/details/134796734