Centos基础-远程控制服务
环境说明
1.需要两台centos7 cpu 2 2 内存4G 硬盘20 适量缩小也可
2.两台设备必须打开网络,一台作为server,一台作为client,大家可以修改hostname来区分
3.首先需要删除Centos7的原有所有yum源,
cd /etc/yum.repos.d
然后 rm -rf *
接下来配置阿里云的Centos7的软件仓库
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
建立软件仓库cache
[root@centos7-server yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up list of fastest mirrors
[root@centos7-server yum.repos.d]# yum repolist all
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/4): extras/7/x86_64/primary_db | 243 kB 00:00:00
(3/4): base/7/x86_64/primary_db | 6.1 MB 00:00:01
(4/4): updates/7/x86_64/primary_db | 13 MB 00:00:02
repo id repo name status
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com enabled: 10,072
centosplus/7/x86_64 CentOS-7 - Plus - mirrors.aliyun.com disabled
contrib/7/x86_64 CentOS-7 - Contrib - mirrors.aliyun.com disabled
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com enabled: 500
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com enabled: 3,413
repolist: 13,985
- 接下来可以安装一下日常一直要使用的工具
首先下载自动补齐命令的插件 yum install -y bash-completion
为了能使用ifconfig命令我们可以安装 yum install -y net-tools
我们还可以安装vim编辑器 yum install -y vim
为了下载方便 我们还可以安装wget工具 yum install -y wget
5.测试系统没问题并且软件仓库都正常 关机打快照 记得关机前修改hostname这样可以区分server端和client端
远程控制服务和堡垒机
配置sshd服务
sshd服务是基于SSH协议开发的一款用于远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:
- 基于口令的验证-用账户密码来验证登录
- 基于密钥的验证:需要在本地生成密钥对,然后把秘钥对中的公钥上传至服务器,并且与服务器中的公钥进行比对,这种方法是相对来说更安全的做法
sshd服务的配置文件保存在 /etc/ssh/sshd_config文件中。
运维人员一般会把保存着最主要的配置信息的文件称为主配置文件,而配置文件中有许多以#开头的注释行,如果想要让这些参数配置生效,需要在修改参数后,再把前面的#给删掉
ssh服务配置文件中包含的参数以及作用:
参数 |
作用 |
Port 22 |
默认的sshd服务端口 |
ListenAddress 0.0.0.0 |
设定sshd服务器监听的IP地址 |
Protocol 2 |
SSH协议的版本号 |
HostKey /etc/ssh/ssh_host_key |
SSH协议版本为1时,DES私钥存放的位置 |
HostKey /etc/ssh/ssh_host_rsa_key |
SSH协议版本为2时,RSA私钥存放的位置 |
HostKey /etc/ssh/ssh_host_dsa_key |
SSH协议版本为2时,DSA私钥存放的位置 |
PermitRootLogin yes |
设定是否允许root管理员直接登录 |
StrictModes yes |
当远程用户的私钥改变时直接拒绝连接 |
MaxAuthTries 6 |
最大密码尝试次数 |
MaxSessions 10 |
最大终端数 |
PasswordAuthentication yes |
是否允许密码验证 |
PermitEmptyPasswords no |
是否允许空密码登录(很不安全) |
安全密钥验证:
- 在客户端主机中生成密钥对
[root@centos7-client ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
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:
SHA256:REBeUBtA6l0o0VoHAezBGLBruimHIPlBTtF++kW0r5I root@centos7-client
The key's randomart image is:
+---[RSA 2048]----+
|...*o=OB= |
| .o =+o+oo |
|. +o+oo+. |
| .o.+o.oo |
|.* .o..S. |
|* o . . . |
|+o . . o . |
|ooo E . |
|+. . |
+----[SHA256]-----+
- 把客户端主机中生成的公钥文件传送至远程主机
[root@centos7-client ~]# ssh-copy-id 192.168.40.204
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.40.204 (192.168.40.204)' can't be established.
ECDSA key fingerprint is SHA256:rgt6DR6pw0ZKIIrjQLoSGYGGbBBkiNtw4p12grQjgE4.
ECDSA key fingerprint is MD5:8b:41:29:af:dc:96:37:f7:24:e5:40:4d:32:96:b4:65.
Are you sure you want to continue connecting (yes/no)? yes
/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
root@192.168.40.204's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.40.204'"
and check to make sure that only the key(s) you wanted were added.
- 对服务器进行设置,使其只允许秘钥验证,拒绝传统的口令验证方式。在修改完配置文件后,必须要重启服务才能生效
vim /etc/ssh/sshd_config
..................
65 PasswordAuthentication no
...................
systemctl restart sshd
- 在客户端尝试登录到服务器,此时无需输入密码也可以成功登录
[root@centos7-client ~]# ssh 192.168.40.204
Last login: Tue Feb 15 20:39:37 2022 from 192.168.40.1
[root@centos7-server ~]#
如何退出
[root@centos7-server ~]# exit
logout
Connection to 192.168.40.204 closed.
不间断会话服务
当与远程主机会话被关闭时,在远程主机上运行的命令也会随之被中断
screen是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或者为了同时控制多个远程终端而设计的程序,用户可以使用screen服务程序同时在多个远程绘画中自由切换,能够实现如下功能:
- 会话恢复:即便网络终端,也可以会话随时恢复,确保用户不会时区对远程会话的控制
- 多窗口:每个会话都是独立运行的。拥有各自独立的输入输出终端窗口,终端窗内显示过的信息。也会被分开隔离保存,以便下次依然能看到之前的操作记录
- 会话共享,当多个用户同时登录到远程服务器时,可以使用会话共享让用户之间输入输出信息共享
服务安装:
root@centos7-client ~]# yum install -y screen
管理远程会话:
screen命令能做的事情:
-S 创建会话窗口
-d 将指定会话窗口离线处理
-x 一次性恢复会有的会话
-ls 查看当前已有的会话
-wipe 把目前无法使用的会话删除
尝试进行screen会话:
1.screen -S windows
虽然大家看起来和刚刚没什么不同,但是已经进入screen会话当中
screen ls
[root@centos7-client ~]# screen -ls
There are screens on:
10448.windows (Attached)
1 Sockets in /var/run/screen/S-root.
想要退出关闭会话也十分简单,只需要在命令行当中执行exit命令就可以
在日常生产环境当中,其实并不是需要先创立会话,然后再开始工作。可以直接使用screen命令执行你所要运行的命令,这样在命令中一切操作都会被记录下来,当命令执行完成后,screen会话也会自动结束。
screen ping -c 20 www.baidu.com
[screen is terminating]
会话共享功能
在第一个终端上 [root@centos7-client ~]# screen -S linux1 创建会话
接下来我们可以输入相关命令
在另一台终端上 我们只需要 [root@centos7-client ~]# screen -x linux1 恢复会话
两边命令敲了什么都可以共享 当一边exit退出 两边相同的会话都会结束
[screen is terminating]