Linux笔记--远程访问(Telnet,ssh,xrdp,vnc)
实验环境Centos7 + WIn11 + VMware16
使用前建议关闭防火墙等
setenforce 0
systemctl stop firewalld.service
一般的远程访问步骤:
(1)选定某一种远程访问协议,如Telnet,ssh,xrdp,vnc等;
(2)分别安装对应协议的“服务端软件”和“客户端软件”;
(3)在服务端启动对应的服务,并进行一些自定义的服务配置;
(4)通过客户端远程连接。
Telnet和SSH服务只能实现基于字符界面的远程控制,利用VNC或者xrdp可以实现图形化的远程控制。
Telnet
概述
Telnet是位于OSI模型的第7层—应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议,它是当今Internet上应用最广泛的协议之一。它把用户正在使用的终端或计算机变成网络某一远程主机的仿真终端,使得用户可以方便地使用远程主机上的软、硬件资源。telnet因为采用明文传送报文,安全性不好。
服务器配置
Telnet有两个安装包:telnet-server和telnet
telnet-server安装包是服务器端的安装包,telnet是客户端的安装包,一般系统默认都已经安装了这两个包,可以先使用此命令查询:
rpm -qa | grep telnet-server
#或者
rpm –q telnet-server
安装telnet服务器端
yum install telnet-server
telnet-server服务启动依赖xinetd服务如果未安装,需要首先安装xinetd。
yum -y install xinetd
xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。
xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。
Telnet服务安装后默认并不会被xinetd启用,可以通过修改文件/etc/xinetd.d/telnet来开启服务:
注:如有则修改,第一次修改,此文件若不存在,可自己vim创建修改:
修改 disable = yes 为 disable = no
- Telnet服务最大连接数
可以通过编辑文件/etc/xinetd.d/telnet,在花括号{}中添加语句instances=3来配置telnet服务的最大连接数,这里的3指telnet服务同时只允许3个连接。- Telnet服务的端口
Telnet服务默认的端口为23,出于安生性考虑,可以更改服务器监听的端口,通过编辑文件/etc/services来修改各个服务的端口,找到telnet选项,修改其数值即可。如要改为2323,即:
telnet 2323/tcp
telnet 2323/udp
服务器启动服务
systemctl start telnet.socket
systemctl start xinetd
# 或 service xinetd start
客户端使用
安装telnet客户端
yum install telnet
客户端进行连接
telnet ip
# 如果修改过Port则要在命令最后添加连接的端口作为参数
ssh
概述
SSH是目前通常使用的远程管理协议,它是一个在应用程序中提供安全通信的协议,通过SSH可以安全地访问服务器,因为SSH基于成熟的公钥加密体系,把所有传输的数据进行加密,保证数据在传输时不被恶意破坏、漏露和篡改。Linux下广泛使用免费的OpenSSH程序来实现SS协议,它同时支持SSH1和SSH2协议Openssh软件包包括两部分:openssh-server和openssh-client,它们分别打包在不同的RPM包中,同时都需要依赖openssh软件包工作,
服务器配置
查看是否安装了ssh服务
rpm -qa | grep openssh
安装ssh:
yum install openssh
启动SSH
service sshd start
设置开机运行
chkconfig sshd on
客户端使用
1 linux客户端
在linux客户端,可以使用命令ssh登录,如果SSH服务器的IP地址为192.168.1.109,
登录命令如下:ssh 192.168.1.109
根据提示输入口令即可,这个口令是root用户的口令,所以登录之后就是root用户身份了。
2 windows客户端
在windows客户端是无法使用ssh命令的,但是有许多SSH客户程序,推荐使用免费的PuTTY程序,它小巧好用,而且是一款无需安装的绿色软件。
使用方法:
运行下载的putty.exe文件,在程序主界面中输入服务器的IP地址或域名,在协议中选择SSH选项,然后单击连接按钮即可连接。
如果是第一次连接到某台服务器,由于服务器公钥没有在注册表中缓存,putty程序会出现的警告信息并显示服务器的指纹信息,点确定即可。
如果成功地连接到SSH服务器,会显示登录信息并提示输入用户名和口令,输入分配的用户名和口令即可。
xrdp
概述
Based on the work of FreeRDP and rdesktop, xrdp uses the remote desktop protocol to present a GUI to the user.
优点:不用装客户端工具,windows自带的功能就可以连接,较vnc安全性高。
服务器配置
安装
# 安装epel库
yum install epel* -y
# 利用epel库安装xrdp
yum --enablerepo=epel -y install xrdp
启动xrdp服务
systemctl start xrdp
客户端使用
windows系统
运行(win+R),输入mstsc,输入服务器IP以及账户密码即可访问远程桌面
vnc
概述
VNC (Virtual Network Console)是虚拟网络控制台的缩写。VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 或 MAC中的任何远程控制软件媲美。在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下只需要其中的两个命令:vncserver 和 vncviewer。目前,原来的AT&T版本已经不再使用,因为更多有重大改善的分支版本已经出现, 像是RealVNC, VNC tight 和UltraVNC。 Real VNC 是当前最活跃和强大的主流应用。
VNC默认使用TCP端口5900至5906,而JAVA的VNC客户端使用5800至5806。一个服务端可以在5500口用“监听模式”连接一个客户端,使用监听模式的一个好处是服务端不需要设置防火墙。
服务器配置
查看是否安装了vnc服务
rpm -q vnc-server
安装 vncserver:
yum install tigervnc-server
启动VNC服务
每个用户都可以启动自己的VNCSERVER远程桌面,同时每个用户可以启动多个VNCSERVER远程桌面,它们用ip加端口号:ip:1、ip:2、ip:3 来标识、区分,使用同一端口会使另外登录的用户自动退出
使用vncserver命令启动VNC服务,命令格式为“vncserver :桌面号”,其中“桌面号”用“数字”的方式表示,每个用户连接需要占用1个桌面
启动编号为1的桌面示例如下
vncserver :1
VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” ---- 端口号为5901
桌面号为“2” ---- 端口号为5902
桌面号为“3” ---- 端口号为5903
客户端使用
1 linux客户端
在linux客户端,可以通过安装vnc viewer
来动进行连接,安装方法和vnc server相似,安装好之后在附件里打开vnc viewer,输入IP地址或域名和桌面号,单面连接即可进行连接了。
2 windows客户端
在windows客户端,可以通过浏览器直接进行连接,例如vnc服务器的IP地址为192.168.1.109,可以在浏览器里输入IP地址加端口号进行连接:
192.168.1.109:5801
表示连接ip地址为192.168.1.109的vnc服务器的1号桌面。