美文网首页
Linux就该这么学 7 | 使用 ssh 服务管理远程主机

Linux就该这么学 7 | 使用 ssh 服务管理远程主机

作者: Ricsy | 来源:发表于2019-07-25 20:22 被阅读0次


一、远程控制服务

1. 配置 sshd 服务

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

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

vim /etc/ssh/sshd_config
systemctl restart sshd
systemctl enable sshd

提示:

  • sshd 服务配置文件
参数 作用
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 设定是否允许 root 管理员直接登录推荐
StrictModes yes 当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6 最大密码尝试次数
MaxSessions 10 最大终端数
PasswordAuthentication yes 是否允许密码验证推荐
PermitEmptyPasswords no 是否允许空密码登录(很不安全)

2. 远程传输命令

把一些文件通过网络从一台Linux主机传递到其他Linux主机
scp [option] 本地文件 远程帐户@远程IP地址:远程目录

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

提示:

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

二、不间断会话服务

screen 是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序

会话恢复
即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制

多窗口
每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录

会话恢复
当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享

1. 管理远程会话

  • 安装screen
    yum install screen -y
参数 作用
-S 创建会话窗口
-d 将指定会话进行离线处理用
-r 恢复指定会话
-x 一次性恢复所有的会话
-ls 显示当前已有的会话
-wipe 把目前无法使用的会话删除
  • 创建backup会话窗口

提示:

  • 当在命令行中敲下这条命令的一瞬间,屏幕会快速闪动一下,这时就已经进入 screen 服务会话中了,在里面运行的任何操作都会被后台记录下来
  • 退出会话窗口
    exit

screen -S backup

  • 查看screen会话
    screen -ls

提示:

  • 在日常的生产环境中,其实并不是必须先创建会话,然后再开始工作。可以直接使用screen 命令执行要运行的命令,这样在命令中的一切操作也都会被记录下来,当命令执行结束后 screen 会话也会自动结束

如:

创建一个名为 linux 的会话,然后强行把窗口关闭掉(这与进行远程连接时突然断网具有相同的效果)
screen -S linux
tail -f /var/log/messages
关闭窗口

由于刚才关闭了会话窗口,这样的操作在传统的远程控制中一定会导致正在运行的命令也突然终止,但在 screen 不间断会话服务中则不会这样。我们只需查看一下刚刚离线的会话名称,然后尝试恢复回来就可以继续工作了
screen -ls

screen -r linux

2. 会话共享功能

会话共享功能是一件很酷的事情,当多个用户同时控制主机的时候,它可以把屏幕内容共享出来,也就是说每个用户都可以看到相同的内容

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

要实现会话共享功能

  • 首先使用 ssh 服务程序将终端 A 远程连接到服务器,并创建一个会话窗口
    ssh [服务器ip]
    ssh -S test
  • 使用 ssh 服务程序将终端 B 远程连接到服务器,并执行获取远程会话的命令。接下来,两台主机就能看到相同的内容了
    ssh [服务器ip]
    screen -x test

更新中......


相关文章

网友评论

      本文标题:Linux就该这么学 7 | 使用 ssh 服务管理远程主机

      本文链接:https://www.haomeiwen.com/subject/pgkkrctx.html