使用 ssh 服务管理远程主机

发布于2020-08-31   679 次阅读


本文最后更新于2022年6月1日,已超过 1 年没更新!内容可能已失效,请自行测试。

配置网络服务

配置网络参数

nmtui命令

创建网络会话

RHEL 和 CentOS 系统默认使用 NetworkManager 来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态

使用 nmcli 命令来管理 NetworkManager 服务

nmcli device status 查看网卡设备信息
nmcli connection show  显示连接
nmcli connection down test 禁用test的配置
nmcli connection up test  启用test的配置

设想这么一个场景:如果我们在公司网络中使用笔记本电脑时需要手动指定网络的 IP 地址,而回到家中则是使用 DHCP 自动分配 IP 地址.这就需要麻烦地频繁修改IP 地址,但是使用了网络会话功能后一切就简单多了

可以使用 nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话

假设将公司网络中的网络会话称之为 company,将家庭网络中的网络会话称之为house

nmcli connection add con-name company type Ethernet ifname ens32 创建连接
nmcli connection up house 启用连接
nmcli connection show 查看连接
nmcli connection delete house 删除连接

远程控制服务

配置sshd服务

SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux 系统的首选方式

ssh命令格式为“ssh [参数] 主机 IP 地址”

ssh 192.168.10.20

安全密钥验证

在客户端主机中生成“密钥对”

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: 
40:32:48:18:e4:ac:c0:c3:c1:ba:7c:6c:3a:a8:b5:22 root@linuxprobe.com 
The key's randomart image is: 
+--[ RSA 2048]----+ 
|+*..o .          | 
|*.o  +           | 
|o*    .          | 
|+ .    .         | 
|o..     S        | 
|.. +             | 
|. =              | 
|E+ .             | 
|+.o              | 
+-----------------+

把客户端主机中生成的公钥文件传送至远程主机

ssh-copy-id 192.168.10.10

The authenticity of host '192.168.10.20 (192.168.10.10)' can't be established. 
ECDSA key fingerprint is 4f:a7:91:9e:8d:6f:b9:48:02:32:61:95:48:ed:1e:3f. 
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.10.10'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. 

对服务器进行设置,使其只允许密钥验证,拒绝传统的口令验证方式

vim /etc/ssh/sshd_config  
修改PasswordAuthentication no 
systemctl restart sshd 

客户端尝试登录到服务器,此时无须输入密码也可成功登录

远程传输命令

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

格式为“scp[参数] 本地文件 远程帐户@远程 IP 地址:远程目录”

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

向IP为192.168.10.20的服务器root目录传送一个txt文件

scp /root/readme.txt 192.168.10.20:/root

把IP为192.168.10.20的服务器上的文件下载到本地主机

scp 192.168.10.20:/etc/redhat-release /root 

不间断会话服务

如果我们正在使用命令来打包文件,或者正在使用脚本安装某个服务程序,中途是绝对不能关闭在本地打开的终端窗口或断开网络链接的,甚至是网速的波动都有可能导致任务中断,此时只能重新进行远程链接并重新开始任务

screen 是一款能够实现多窗口远程控制的开源服务程序

安装screen

yum install screen

管理远程会话

创建一个名称为backup 的会话窗口

screen -S backup

查看当前已有的会话

screen -ls

恢复会话

screen -r 会话名称
  • 在 Linux 系统中有多种方法可以配置网络参数,请列举几种
    • 配置网卡参数可以使用 nmtui 命令、nmcli 命令或者直接编辑网卡配置文件来实现对网卡参数的修改
  • 简述网卡绑定技术 mode6 模式的特点
    • 平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持

=

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。