从零开始的Linux学习第十一天:SSH相关的使用
2020.5.23-第十一天
使用ssh服务管理远程主机
碎碎念:工作任务突然加重,双休也变成单休,没时间预习了,看看能不能熬熬夜,希望不要那么快秃头。
一、配置网卡服务
1.配置网卡
(之后再找时间单独写一下吧)
2.创建网络会话服务
RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理Network Manager服务。nmcli是一款基于命令行的网络配置工具,功能丰富,参数众多。它可以轻松地查看网络信息或网络状态:
RHEL7系统支持网络会话功能,允许用户在多个配置文件中快速切换。
(在公司要指定IP地址,回到家里则使用DHCP,为了避免频繁的修改IP地址,就有这个类似firewall的区域技术)
可以使用nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话。假设将公司网络中的网络会话称之为company,将家庭网络中的网络会话称之为house。
使用con-name参数指定公司所使用的网络会话名称company,然后依次用ifname参数指定本机的网卡名称,用autoconnect no参数设置该网络会话默认不被自动**,以及用ip4及gw4参数手动指定网络的IP地址:
使用con-name参数指定家庭所使用的网络会话名称house。因为我们想从外部DHCP服务器自动获得IP地址,因此这里不需要进行手动指定:
在成功创建网络会话后,可以使用nmcli命令查看创建的所有网络会话:
使用nmcli命令配置过的网络会话是永久生效的,这样当我们下班回家后,顺手启用house网络会话,网卡就能自动通过DHCP获取到IP地址了。
3.绑定2块网卡
【bonding-绑定(旧技术),team-聚合(RHEL 7新增)】
对两块网卡实施了绑定技术,这样在正常工作中它们会共同传输数据,使得网络传输的速度变得更快;而且即使有一块网卡突然出现了故障,另外一块网卡便会立即自动顶替上去,保证数据传输不会中断。
第1步:在虚拟机系统中再添加一块网卡设备,请确保两块网卡都处在同一个网络连接中(即网卡模式相同),如下两张图所示。处于相同模式的网卡设备才可以进行网卡绑定,否则这两块网卡无法互相传送数据。
第2步:使用Vim文本编辑器来配置网卡设备的绑定参数。网卡绑定的理论知识类似于前面学习的RAID硬盘组,但需要对参与绑定的网卡设备逐个进行“初始设置”。且需要注意的是,这些原本独立的网卡设备此时需要被配置成为一块“从属”网卡,服务于“主”网卡,不应该再有自己的IP地址等信息。在进行了初始设置之后,它们就可以支持网卡绑定。
BOOTPROTO可以指定三种状态:none-默认,static-静态,dhcp-动态。
新增的网卡需要重新写一个配置文件;
还需要将绑定后的设备命名为bond0并把IP地址等信息填写进去,这样当用户访问相应服务的时候,实际上就是由这两块网卡设备在共同提供服务:
第3步:让Linux内核支持网卡绑定驱动。常见的网卡绑定驱动有三种模式—mode0、mode1和mode6:
a.mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
b.mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
c.mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。
使用Vim文本编辑器创建一个用于网卡绑定的驱动文件,使得绑定后的bond0网卡设备能够支持绑定技术(bonding);同时定义网卡以mode6模式进行绑定,且出现故障时自动切换的时间为100毫秒:
第4步:重启网络服务后网卡绑定操作即可成功。正常情况下只有bond0网卡设备才会有IP地址等信息:
二、远程控制服务
1.配置SSHD服务
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。FTP与Telnet是以明文的方式在网络中传输账户密码和数据信息,容易受到黑客发起的中间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。
sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:
a.基于口令的验证—用账户和密码来验证登录;
b.基于**的验证—需要在本地生成**对,然后把**对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。
sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。运维人员一般会把保存着最主要配置信息的文件称为主配置文件,而配置文件中有许多以井号开头的注释行,要想让这些配置参数生效,需要在修改参数后再去掉前面的井号。重要参数有:
在RHEL 7系统中,已经默认安装并启用了sshd服务程序。接下来使用ssh命令进行远程连接,其格式为“ssh [参数] 主机IP地址”。要退出登录则执行exit命令:
如果禁止以root管理员的身份远程登录到服务器,则可以大大降低被黑客暴力**密码的几率。下面进行相应配置。首先使用Vim文本编辑器打开sshd服务的主配置文件,然后把第48行#PermitRootLogin yes参数前的井号(#)去掉,并把参数值yes改成no,这样就不再允许root管理员远程登录了。
2.安全**验证
第1步:在客户端主机中生成“**对”:
第2步:把客户端主机中生成的公钥文件传送至远程主机:
第3步:对服务器进行设置,使其只允许**验证,拒绝传统的口令验证方式。记得在修改配置文件后保存并重启sshd服务程序:
3.远程传输命令
scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录”。scp不仅能够通过网络传送数据,而且所有的数据都将进行加密处理。
(不过必须是两台LINUX系统,但如果WINDOWS系统想要使用SCP传输内容的话,需要借助第三方软件。)
常用参数:
在使用scp命令把文件从本地复制到远程主机时,
首先需要以绝对路径的形式写清本地文件的存放位置;
如果要传送整个文件夹内的所有数据,还需要额外添加参数-r进行递归操作;
然后写上要传送到的远程主机的IP地址,远程服务器便会要求进行身份验证了;
当前用户名称为root,而密码则为远程服务器的密码;
如果想使用指定用户的身份进行验证,可使用用户名@主机地址的参数格式;
最后需要在远程主机的IP地址后面添加冒号,并在后面写上要传送到远程主机的哪个文件夹中;
只要参数正确并且成功验证了用户身份,即可开始传送工作。
“scp 文件名称(/root/test.txt) 服务器IP:服务(192.168.233.233://home)”-传输
可以使用scp命令把远程主机上的文件下载到本地主机,其命令格式为“scp [参数] 远程用户@远程IP地址:远程文件 本地目录”.
“scp 服务器IP:文件(192.168.233.233:/etc/redhat) 本地目录(/root)”-下载
4.不间断会话服务
screen是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。(命令打包文件、正在使用脚本安装某个服务程序,中途是绝对不能关闭在本地打开的终端窗口或者断开网络连接)
用户还可以使用screen服务程序同时在多个远程会话中自由切换,能够做到实现如下功能:
会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制。
多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录。
会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。
A.管理远程会话
screen命令能做的事情非常多:
可以用-S参数创建会话窗口;
用-d参数将指定会话进行离线处理;
用-r参数恢复指定会话;
用-x参数一次性恢复所有的会话;
用-ls参数显示当前已有的会话;
以及用-wipe参数把目前无法使用的会话删除,等等。
B.会话共享功能
screen命令不仅可以确保用户在极端情况下也不丢失对系统的远程控制,保证了生产环境中远程工作的不间断性,而且它还具有会话共享、分屏切割、会话锁定等实用的功能。其中,当多个用户同时控制主机的时候,它可以把屏幕内容共享出来,也就是说每个用户都可以看到相同的内容。
首先使用ssh服务程序将终端A远程连接到服务器,并创建一个会话窗口:
v然后,使用ssh服务程序将终端B远程连接到服务器,并执行获取远程会话的命令。接下来,两台主机就能看到相同的内容了: