配置网络服务

配置网络参数

这里使用nmtui,将网卡的IPv4配置方式更改为Manual,IP地址填写为192.168.10.10/24,然后保存

将网卡配置文件中的ONBOOT参数修改为yes

# vim /etc/sysconfig/network-scripts/ifcfg-enoxxx
etc...
ONBOOT=yes
etc...
# systemctl restart network

创建网络会话

使用nmcli查看网络信息和网络状态

# nmcli connection show
NAME UUID TYPE DEVICE
etc...
# cmcli con show enoxxx
etc...

指定网络会话名称company,并设置该网络会话默认不被自动激活,以及ip4和gw4参数手动指定IP地址

# nmcli connection add con-name company if name enoxxx autoconnect no tyoe ethernet ipp4 192.168.10.10/24 gw4 192.168.10.1
Connection 'company' (...) successfully added.

使用con-name命令指定家庭所使用的会话名称house,这样下班后顺手启用house,通过DHCP自动获得ip地址

# nmcli connection add con-name house type ethernet ifname enoxxx
etc...
# nmcli connection show
bouse etc...
company etc...
# nmcli connection up house
etc...

远程控制服务

配置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 当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6 最大密码尝试次数
MacSessions 10 最大终端数
PasswordAuthentication yes 是否允许密码验证
PermitEmptyPasswords no 是否允许空密码登录

ssh登录

禁止以root管理员的身份远程登录到服务器,可以大大降低被暴力破解的几率

# vim /etc/ssh/sshd_config
etc...
PermitRootLogin no
# systemctl restart sshd
# systemctl enable sshd
etc...

安全秘钥验证

在客户端主机中生成秘钥对

# 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:
etc...

把客户端生成的公钥文件上传到远程主机

# ssh-copy-id xxx.xxx.xxx.xxx
etc...

只允许秘钥验证,拒绝口令验证

# vim /etc/ssh/sshd_config
etc...
PasswordAuthentication no
etc...
# systemctl restart sshd

远程传输命令

scp是基于SSH协议在网络之间进行安全传输的命令

参数 作用
-v 显示详细的连接进度
-P 指定远程主机的sshd端口号
-r 用于传送文件夹
-6 使用IPv6协议

上传

# echo "test" > readme.txt
# scp /root/readme.txt xxx.xxx.xxx.xxx:/home
etc...

下载

# scp xxx.xxx.xxx.xxx:/etc/redhat-release /root
etc...
# cat redhat-release
etc...

不间断会话服务

当与远程主机的会话被关闭时,在远程主机上运行的命令也随之被中断

这里我们需要用到screen服务程序,需要用yum自行安装

  • 会话恢复:即使网络中断也可让会话随时恢复,确保用户不会失去对远程会话的控制
  • 多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开格力保存,以便下次使用时依然能看到之前的操作记录
  • 会话共享:当多个用户同时登陆到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享

管理远程会话

创建一个backup窗口

# screen -S backup
# screen -ls
There is a screen on:
32230.backup(Attached)
1 Socket in /var/run/screen/S-root
# exit
[screen is terminating]

尝试创建一个linux的会话,然后强制把这个窗口关掉,传统的远程控制在这时刚刚执行的命令就已经结束了,只需要查看刚刚离线的会话名称,然后就可以继续工作了

# screen -S linux
# tail -f /var/log/messages
etc...
中断会话
# screen -ls
There is a screen on:
xxx.linux (Detached)
1 Socket in /var/run/screen/S-root.
etc...

共享会话功能

让每个用户都可以看到相同的内容

client A

# ssh xxx.xxx.xxx.xxx
etc...
# screen -S linux

client B

# ssh xxx.xxx.xxx.xxx
etc...
# screen -x

What doesn’t kill you makes you stronger.