使用ssh服务管理远程主机

本文介绍了如何在Linux系统中配置网络服务,包括修改网卡配置、使用nmcli创建网络会话和实现网卡绑定。此外,详细讲解了配置sshd服务,包括基于口令和密钥的验证,以及远程传输命令scp的使用。最后,提到了利用screen命令进行远程会话管理和共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置网络服务

配置网卡的4种方法:
修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-enoXXXXXXXX,配置完重启网卡服务;
nmtui(旧版UI界面)
nm-connection-editor(新版UI界面)
Linux系统右上角电脑图标,打开并做相应编辑。

创建网络会话
RHEL和CentOS系统默认使用NetworkManager来提供网络服务.

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

具体参数意义:
1.con-name:网络会话名称
2.type:网络类型
3.ifname:网卡名称
4.autoconnect :网络会话默认是否自动激活,yes是no否
5.ip4:ip地址及子网掩码
6.gw4:网关
7.add/delete:添加/删除
8.up/down:启用/禁用

绑定两块网卡
实例:按如下步骤对两块网卡实施网卡绑定技术。

1.确保有2块以上网卡设备
2.配置网卡设备的绑定参数,这些原本独立的网卡设备要被配置成从属网卡(SLAVE,从属网卡不能有自己的ip地址信息),以支持网卡绑定。随后创建主网卡配置文件,编辑ip地址等网卡参数
3.让Linux内核支持网卡绑定驱动。常见网卡绑定驱动的模式

1)mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
2).mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
3).mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。

4.重启网络服务后网卡绑定操作即完成
cd /etc/sysconfig/network-scripts/ #切换到网卡配置文件所在目录

vim ifcfg-eno16777756 #修改网卡eno16777756配置参数

TYPE=Ethernet #网卡类型为以太网

BOOTPROTO=none #地址分配模式为默认

DEVICE=eno16777756 #网卡设备名称为eno16777756

ONBOOT=yes #是否启用网卡(yes启用no禁用)

USERCTL=no #不允许用户通过命令行控制

MASTER=bond0 #主网卡设备名称(与主网卡绑定)

SLAVE=yes #是否为从属网卡(yes是no否)

vim ifcfg-eno33554972 #修改网卡eno33554972配置参数(没有配置文件就创建)

TYPE=Ehternet

BOOTPROTO=none

DEVICE=eno33554972

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

vim ifcfg-bond0 #创建主网卡bond0的配置文件,编辑配置参数

TYPE=Ethernet

BOOTPROTO=none

DEVIVE=bond0

ONBOOT=yes

USERCTL=no

IPADDR=192.168.10.10 #ip地址

PREFIX=24 #子网掩码,相当于255.255.255.0

DNS=192.168.10.1 #DNS地址

NM_CONTROLLED=no #NM(Network Manager)让网卡保证能够运行并对网卡进行基本管理。网卡绑定是高级操作,必须让网卡不再受NM控制!

vim /etc/modprobe.d/bond.conf #创建一个用于网卡绑定的驱动文件,使绑定后的主网卡bond0支持绑定技术

alias bond0 bonding #让bond0网卡设备支持绑定技术

options bond0 miimon=100 mode=6 #定义网卡以mode6模式绑定,且出现故障时自动切换的时间为100毫秒

systemctl restart network #重启网卡服务

远程控制服务

配置sshd服务

想要使用SSH协议来远程管理Linux系统,则需要部署配置sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:
1.基于口令的验证—用账户和密码来验证登录;
2.基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至 服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。

服务的配置文件的保存路径及命名:

主配置文件:/etc/服务名称/服务名称.conf
普通文件:/etc/服务名称

“Linux系统中的一切都是文件”,因此在Linux系统中修改服务程序的运行参数,实际上就是在修改程序配置文件的过程。sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。

sshd服务配置文件中包含的参数以及作用

Port 22 默认的sshd服务端口

ListenAddress 0.0.0.0 设定sshd服务器监听的IP地址

Protocol 2 SSH协议的版本号

HostKey /tc/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 是否允许空密码登录(很不安全)

实例:配置sshd服务,禁止以root管理员身份远程登录服务器。

ssh 192.168.32.30 #远程登录主机192.168.32.30,本机也可以用ssh登录本机。

exit #退出登录

vim /etc/ssh/sshd_config #修改sshd主配置文件

48 PermitRootLogin no #修改48行的参数为no,表示不允许root管理员远程登录

systemctl restart sshd #重启sshd服务

systemctl enable sshd #把sshd服务加入到开机启动项中

ssh 192.168.10.10 #用root登录,提示Permission denied

安全密钥验证

配置ssh以密钥方式验证步骤:

1.在客户端主机(192.168.10.20)生成“密钥对”(生成公钥和私钥)。
2.在客户端中把生成的公钥传送给服务端(192.168.10.10)。
3.在服务端,修改sshd配置文件,使其只允许密钥验证,拒绝口令验证。修改后重启sshd服务。
4.在客户端远程登录服务器测试是否配置成功。

ssh-keygen #客户端操作。生成“密钥对”(公钥和私钥)。会有3次确认,直接回车就行

ssh-copy-id 192.168.10.10 #客户端操作。把生成的公钥文件传送给服务端。会提示是否继续连接,yes。还会提示要求输入服务端的root密码

vim /etc/ssh/sshd_config #服务端操作。修改ssh服务配置文件

78 PasswordAuthentication no #服务端操作。拒绝口令验证

systemctl restart sshd #服务端操作。重启sshd服务

ssh 192.168.10.10 #客户端操作。尝试远程登录服务端主机

远程传输命令

scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录”。

scp命令中可用的参数及作用

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

**实例:**在客户端创建一个文本文件A,上传到服务端,再从服务端新建文本文件B,从客户端中把服务端的B下载下来。

echo “张笑寒 我能说你啥” >> B.txt #服务端操作。新建一个文本文档B.txt

echo “优秀的不得了” >> A.txt #客户端操作。新建一个文本文档A.txt

scp /root/Desktop/A.txt 192.168.10.10:/root/Desktop #客户端操作。把文件A上传给服务端的/root/Desktop路径下

scp 192.168.10.10:/root/Desktop/B.txt /etc #客户端操作。把服务端的B文件下载到本机的/etc目录下

不间断会话服务

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

安装screen程序(前提是配置好Yum仓库):yum install -y screen

screen命令:用于管理远程会话。

常用参数:

-S: 创建会话窗口
-d: 将指定会话进行离线处理
-r: 恢复指定会话
-x: 一次性恢复所有会话
-ls: 显示当前已有会话
-wipe: 把目前无法使用的会话删除

管理远程会话

screen命令能做的事情非常多:可以用-S参数创建会话窗口;用-d参数将指定会话进行离线处理;用-r参数恢复指定会话;用-x参数一次性恢复所有的会话;用-ls参数显示当前已有的会话;以及用-wipe参数把目前无法使用的会话删除,等等。

screen -S backup #创建会话backup

screen -ls #查看已有会话,发现会话backup处于连接()状态

exit #退出会话backup

screen vim memo.txt #在创建会话的同时执行编辑文件memo.txt的命令,命令执行完毕后screen会话也会自动结束

heheda #写入文本内容

screen -S linux #创建会话linux

tail -f /var/log/messages #在会话linux里执行该命令,故意强行关闭会话窗口

screen -ls #重新打开命令行窗口,查看已有会话,发现会话linux处于断开(Detached)状态

screen -r linux #恢复会话linux,可以发现刚刚关闭窗口导致中断的命令可以继续执行

会话共享功能

screen命令不仅可以确保用户在极端情况下也不丢失对系统的远程控制,保证了生产环境中远程工作的不间断性,而且它还具有会话共享、分屏切割、会话锁定等实用的功能。其中,会话共享功能是一件很酷的事情,当多个用户同时控制主机的时候,它可以把屏幕内容共享出来,也就是说每个用户都可以看到相同的内容。

实例:客户端A(192.168.10.20)远程登录到服务端(192.168.10.10),创建一个screen会话,然后客户端B(192.168.10.30)远程登录到服务端,执行screen -x(获取远程会话)。两台客户端就可以看到相同内容。

ssh 192.168.10.10 #客户端A操作。远程登录到服务端(192.168.10.10)

screen -S test #客户端A操作。创建一个screen会话

ssh 192.168.10.10 #客户端B操作。远程登录到服务端

screen -x #客户端B操作。获取远程会话

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值