Linux进阶-7.安装远程服务

为什么需要远程到Linux系统呢?远程到Linux系统是在机房管理中最经常使用了,因为Linux服务器一般都是在机房的机柜中,可能会配有KVM作为本地连接,但是日常维护服务器每修改一个参数都要跑到相应的服务器前使用KVM连接,一方面效率低,而且长时间在机房里对自身的健康都有一定的影响。所以日常维护的时候就使用远程的方式登录linux系统啦。一般登录的方式有Telnet,SSH,VNC等。

1.telnet服务

Telnet是网络中远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器,就像直接在服务器的控制台上输入一样,可以在本地就能控制服务器。虽然Telnet较为简单实用也很方便,但是在格外注重安全的现代网络技术中,Telnet并不被重用。原因在于Telnet是一个明文传送协议,它将用户的所有内容,包括用户名和密码都明文在互联网上传送,具有一定的安全隐患,因此许多服务器都会选择禁用Telnet服务。RHEL7上也是默认没有安装Telnet服务的,telnet对应的服务名称是xinetd。

1.1安装服务

安装xinetd服务和telnet-server服务。

[root@shijie Desktop]# yum install xinetd telnet-server -y
以下省略...

1.2重启服务

[root@shijie Desktop]# systemctl start telnet.socket
[root@shijie Desktop]# systemctl start xinetd
[root@shijie Desktop]# systemctl enable telnet.socket
ln -s '/usr/lib/systemd/system/telnet.socket' '/etc/systemd/system/sockets.target.wants/telnet.socket'
[root@shijie Desktop]# systemctl enable xinetd

1.3客户端访问

linux客户端,安装telnet客户端,默认情况下telnet不能远程root用户,安全性考虑也不建议直接telnet到root下。

[root@shijie2 Desktop]# yum install telnet
[root@shijie2 Desktop]# telnet 192.168.10.10
Trying 192.168.10.10...
Connected to 192.168.10.10.
Escape character is '^]'.

Kernel 3.10.0-123.el7.x86_64 on an x86_64
shijie login: shijie
Password: 
Last login: Tue May 26 13:14:48 from ::ffff:192.168.10.30
[shijie@shijie ~]$ 

windows客户端,可以先安装telnet客户端,也可以使用SecureCRT,xshell,putty等工具。我使用SecureCRT为例。

点击快速连接
在这里插入图片描述
协议选择telnet,输入远程的IP地址,端口号默认23。
在这里插入图片描述
点击连接后输入需要连接的非root用户。
在这里插入图片描述

2.SSH

SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。相对对telnet来说,SSH传输过程都是加密的,可以有效防止远程管理过程中的信息泄露问题。RHEL7上SSH协议是默认开启的,只要有客户端就可以直接SSH远程到服务器。

2.1客户端远程

linux客户端上,使用ssh ip登录可以直接登录到服务器的root用户,使用ssh 用户名@ip可以登录到指定用户。

[root@shijie2 Desktop]# ssh 192.168.10.10
[email protected]'s password: 
Last login: Wed May 27 07:11:43 2020 from 192.168.10.20
[root@shijie ~]# 

windows客户端SSH登录使用SecureCRT为例,选择快速连接。
在这里插入图片描述
协议选择SSH2,输入需要远程的IP,端口默认22,输入需要远程的用户名。
在这里插入图片描述输入用户的密码
在这里插入图片描述点击确定之后就可以进入远程的服务器了。
在这里插入图片描述

2.2SSH免密登录

在客户端上生成秘钥对

[root@shijie2 Desktop]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 输入需要保存的路径
Enter passphrase (empty for no passphrase): 输入密钥对的密码
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
9e:6a:24:a6:2d:a8:8e:e7:41:2a:ca:76:54:1e:9e:a5 root@shijie2
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|     o .         |
|  . + = S        |
| o .oE.. .       |
|o.o+ o  o        |
|*.+o. ..         |
|B=o. ..          |
+-----------------+

将生成的秘钥对复制到服务器上。

[root@shijie2 Desktop]# ssh-copy-id 192.168.10.10
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.10.10'"
and check to make sure that only the key(s) you wanted were added.

服务器上修改配置文件,将PasswordAuthentication参数改为no。

[root@shijie ~]# vim /etc/ssh/sshd_config 
以上省略...
 76 #PasswordAuthentication yes
 77 #PermitEmptyPasswords no
 78 PasswordAuthentication no
以下省略...
[root@shijie ~]# systemctl restart sshd

再次尝试在客户端中登录服务器,就不需要密码登录了。

[root@shijie2 Desktop]# ssh 192.168.10.10
Last login: Wed May 27 08:16:53 2020 from 192.168.10.20
[root@shijie ~]# 

这样修改其他客户端就无法使用用户名密码登录了,可以单独将PasswordAuthentication参数前面的#号去掉,这样既可以使用免密登录,又可以使用用户名密码登录了。

2.3SSH自定义安全设置

a.修改默认端口,使用ssh ip -p 端口号登录。

 13 # If you want to change the port on a SELinux system, you have to tell
 14 # SELinux about this change.
 15 # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
 16 #
 17 Port 2222
 18 #AddressFamily any

b.限制客户端登录IP,这样只有允许的IP才能登录了。

[root@shijie ~]# vim /etc/hosts.allow 
sshd:192.168.10.20,192.168.20.*:allow
sshd:all:deny

c.如果服务器存在多个ip,只允许从指定ip登录,修改配置文件ListenAddress参数。

[root@shijie ~]# vim /etc/ssh/sshd_config 
ListenAddress 192.168.10.10		默认0.0.0.0

3.VNCserver

VNC是远程管理工具,可以在客户端使用界面化远程管理服务器。服务器安装VNCserveer。

[root@shijie Desktop]# yum install vnc-server -y

编辑VNC配置文件,旧版本配置文件在/etc/sysconfig/vncservers。现在更换位置到 /lib/systemd/system/[email protected],要配置文件就先复制在@后面加上冒号数字代表几号窗口,例vncserver@:2.service。将
部分修改成需要登录的用户名。

[root@shijie Desktop]# cd /lib/systemd/system/
[root@shijie system]# cp [email protected] vncserver@:2.service
[root@shijie system]# vim vncserver@:2.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
# ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
# PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/home/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

设置VNC远程连接的密码。

[root@shijie system]# vncpasswd 
Password:
Verify:

开启VNC服务

[root@shijie system]# vncserver :2

客户端访问,先安装vncviewer。

[root@shijie2 Desktop]# yum install -y vnc
[root@shijie2 Desktop]# vncviewer 192.168.10.10:2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章