配置网络服务
配置网络参数
这里使用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