Linux 使用ssh服务管理远程主机

Posted 背背背背起了行囊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 使用ssh服务管理远程主机相关的知识,希望对你有一定的参考价值。

配置网络服务

配置网卡的4种方法:

 创建网络会话

RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理Network Manager服务。nmcli是一款基于命令行的网络配置工具,功能丰富,参数众多。

RHEL7支持网络会话:将网卡配置文件保存成模版实现快速切换。该技术旨在不同的使用环境下实现网络配置信息的快速切换。

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

具体参数意义:

 实例:创建一个指定ip地址和网关的网络回话company(第2行,要指明ip地址和网关)和一个自动获取ip地址的网络回话house(第3行,想从外部dhcp自动获得ip地址,不需要手动指定,因此部分参数无需配置)。

绑定两块网卡

网卡绑定技术:对2块以上网卡实施绑定技术,在正常工作中网卡会共同传输数据,网络传输速度更快;当其中一块网卡出现故障,另一块网卡会立即自动顶替,保证网络传输不间断。

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

1.确保有2块以上网卡设备

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

mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。

mode1(自动备援模式):平时只有一块网卡工作,在它故障后替换为另外的网卡。

mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机谁被提供辅助支持

4.重启网络服务后网卡绑定操作即完成

 

 在本地主机执行ping 192.168.10.10命令检查网络的连通性。为了检验网卡绑定技术的自动备援功能,突然在虚拟机硬件配置中随机移除一块网卡设备,可以非常清晰地看到网卡切换的过程(一般只有1个数据丢包)。然后另外一块网卡会继续为用户提供服务。

远程控制服务

配置sshd服务

SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。在此之前,一般使用FTP或Telnet来进行远程登录。但是因为它们以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。

想要使用SSH协议来远程管理Linux系统,则需要部署配置sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:

1.基于口令的验证-用账户和密码来验证登录

2.基于密钥的验证-需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,与服务器中公钥进行比较;该方式相较来说个更安全。

服务的配置问价的保存路径及命名:

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

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

 安全密钥验证

加密是对信息进行编码和解码的技术,它通过一定的算法(密钥)将原本可以直接阅读的明文信息转换成密文形式。密钥即是密文的钥匙,有私钥和公钥之分。在传输数据时,如果担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再行传送。这样,只有掌握私钥的用户才能解密这段数据,除此之外的其他人即便截获了数据,一般也很难将其破译为明文信息。

一言以蔽之,在生产环境中使用密码进行口令验证终归存在着被暴力破解或嗅探截获的风险。如果正确配置了密钥验证方式,那么sshd服务程序将更加安全。

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

 远程传输命令

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

cp命令只能在本地硬盘中进行文件复制,而scp不仅能够通过网络传送数据,而且所有的数据都将进行加密处理。例如,如果想把一些文件通过网络从一台主机传递到其他主机,这两台主机又恰巧是Linux系统,这时使用scp命令就可以轻松完成文件的传递了。

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

 在使用scp命令把文件从本地复制到远程主机时,首先需要以绝对路径的形式写清本地文件的存放位置。如果要传送整个文件夹内的所有数据,还需要额外添加参数-r进行递归操作。然后写上要传送到的远程主机的IP地址,远程服务器便会要求进行身份验证了。当前用户名称为root,而密码则为远程服务器的密码。如果想使用指定用户的身份进行验证,可使用用户名@主机地址的参数格式。最后需要在远程主机的IP地址后面添加冒号,并在后面写上要传送到远程主机的哪个文件夹中。只要参数正确并且成功验证了用户身份,即可开始传送工作。

由于scp命令是基于SSH协议进行文件传送的,如果客户端和服务端设置好了密钥验证,则在传输文件时,并不需要账户和密码。

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

 不间断会话服务

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

如果我们正在使用命令来打包文件,或者正在使用脚本安装某个服务程序,中途是绝对不能关闭在本地打开的终端窗口或断开网络链接的,甚至是网速的波动都有可能导致任务中断,此时只能重新进行远程链接并重新开始任务。还有些时候,我们正在执行文件打包操作,同时又想用脚本来安装某个服务程序,这时会因为打包操作的输出信息占满用户的屏幕界面,而只能再打开一个执行远程会话的终端窗口,时间久了,难免会忘记这些打开的终端窗口是做什么用的了。

screen是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。用户还可以使用screen服务程序同时在多个远程会话中自由切换,能够做到实现如下功能。

 

 

 常用参数:

 

 管理远程会话

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

 

 会话共享功能

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

screen的会话共享功能的流程拓扑如图

 

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

以上是关于Linux 使用ssh服务管理远程主机的主要内容,如果未能解决你的问题,请参考以下文章

Linux(11):期中架构--- SSH远程管理服务 & ansible 批量管理服务

linux运维架构之路-SSH远程管理服务

使用SSH服务远程登录Linux主机

Linux三阶段三之五:SSH远程管理服务

Linux——远程访问及控制(SSH远程管理与配置)

如何使用ssh工具便于远程管理