Linux就该这么学(使用 ssh 服务管理远程主机)第9章

    技术2025-07-24  13

    远程控制服务(第206页)

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

    参数作用Port 22默认的 sshd 服务端口ListenAddress 0.0.0.0设定 sshd 服务器监听的 IP 地址Protocol 2SSH 协议的版本号HostKey /etc/ssh/ssh_host_keySSH 协议版本为 1 时,DES 私钥存放的位置HostKey /etc/ssh/ssh_host_rsa_keySSH 协议版本为 2 时,RSA 私钥存放的位置HostKey /etc/ssh/ssh_host_dsa_keySSH 协议版本为 2 时,DSA 私钥存放的位置PermitRootLogin yes设定是否允许 root 管理员直接登录StrictModes yes当远程用户的私钥改变时直接拒绝连接MaxAuthTries 6最大密码尝试次数MaxSessions 10最大终端数PasswordAuthentication yes是否允许密码验证PermitEmptyPasswords no是否允许空密码登录(很不安全)

    ssh远程连接格式:ssh [参数] 主机IP地址

    [root@localhost ~]# ssh 192.168.1.83 #SSH远程登陆 root@192.168.1.83's password: #输入密码 Last login: Sat Jul 4 15:05:42 2020 from 192.168.1.83

    root 管理员的身份远程登录到服务器

    第一步:[root@localhost ~]# vim /etc/ssh/sshd_config 进入ssh配置文件 第二步:在配置文件中第48行 PermitRootLogin yes 改为 PermitRootLogin no 第三步:重启服务

    [root@localhost ~]# systemctl restart sshd [root@localhost ~]# systemctl enable sshd

    安全密钥验证

    第一步:成生密钥 [root@localhost ~]# ssh-keygen #输入密钥命令 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): #使用默认路径直接按回车键 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: a8:1b:a9:0c:8b:73:a7:8e:5b:6b:bf:18:48:fd:91:56 root@localhost.localdomain The key's randomart image is: +--[ RSA 2048]----+ | | | | | E | | . o. | | . . +. S | |.. oo. | |o o +. | |o*o=.o | |=*B++. | +-----------------+ 第二步:将生成的密钥传送至远程主机 [root@localhost ~]# ssh-copy-id 192.168.1.83 /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.1.83's password: #这里输入远程服务器密码 Number of key(s) added: 1 Now try logging into the machine, with: "ssh '192.168.1.83'" and check to make sure that only the key(s) you wanted were added. 第三步:对服务器进行设置,使其只允许密钥验证,拒绝传统的口令验证方式。记得在 修改配置文件后保存并重启 sshd 服务程序。 [root@localhost ~]# vim /etc/ssh/sshd_config #进入ssh配置文件 #将配置文件的第78行 PasswordAuthentication yes 修改如下 #...略... PasswordAuthentication no #...略... 第四步:用密钥登陆 [root@localhost ~]# ssh 192.168.1.83 Last login: Sat Jul 4 15:25:16 2020 from 192.168.1.83

    远程传输命令(第209页)

    scp(secure copy)是一个基于 SSH 协议在网络之间进行安全传输的命令, 其格式为:

    scp [参数] 本地文件 远程帐户@远程 IP 地址:远程目录

    scp 命令中可用的参数及作用 参数作用-v显示详细的连接进度-P指定远程主机的 sshd 端口号-r用于传送文件夹-6使用 IPv6 协议 远程传输实例:因为上面设置了密钥,所以实例中不需要账户和密码 [root@localhost ~]# echo "aaaaaa" > lwsssh.txt #在客户端建立一个文件 [root@localhost ~]# scp /root/lwsssh.txt 192.168.1.83:/home #执行scp远程传输命令 lwsssh.txt 100% 7 0.0KB/s 00:00 #下面进入服务端的home目录查看此文件 [root@localhost ~]# cd /home [root@localhost home]# ll | grep "lwsssh.txt" -rw-r--r--. 1 root root 7 7月 4 15:34 lwsssh.txt

    不间断会话服务(210页)

    会话恢复:

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

    多窗口:

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

    会话共享:

    当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之

    在 centos 7 系统中,没有默认安装 screen 服务程序,因此需要配置 Yum 仓库来安装它

    首先将虚拟机的 CD/DVD 光盘选项设置为“使用 ISO 镜像文件”,并选择已经下载好的系统镜像

    # 挂载光盘镜像 [root@localhost home]# mkdir -p /media/cdrom [root@localhost home]# mount /dev/cdrom /media/cdrom 使用 Vim 文本编辑器创建 Yum 仓库的配置文件 [root@localhost ~]# vim /etc/yum.repos/centos.repo [centos7] name=centos7 baseurl=file:///media/cdrom enabled=1 gpgcheck=0 安装 screen [root@localhost ~]# yum install screen

    管理远程会话

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

    SSH在远程连接时用 screen 创建一个新连接,如果这时网络中断,等重新与服务器连接上后可以恢复SSH的续连

    [root@localhost ~]# screen -S lws #创建一个新会话,lws可以自定义会话标题 [root@localhost ~]# screen -ls #查询会话列表 There are screens on: 4259.ssss (Attached) 4144.lws (Attached) 4000.backup (Detached) 3 Sockets in /var/run/screen/S-root. [root@localhost ~]# top #打开top监控,并直接关掉终端窗口 top - 22:44:59 up 29 min, 3 users, load average: 0.01, 0.08, 0.20 ........ #关掉终端与服务器连接 #终端重新上线并恢复指定会话 [root@localhost ~]# screen -r lws

    会话共享功能

    设置A客户机 [root@localhost ~]# ssh 192.168.1.83 #第一步:在A客户用SSH机登陆到服务器 [root@localhost ~]# screen -S lws3 #第二步:创建一个新的会话 [root@localhost ~]# screen -ls #第三步:查看lws3会话是否在列表中 There are screens on: 4691.lws3 (Attached) 4392.lws2 (Attached) 4144.lws (Attached) 4000.backup (Detached) 4 Sockets in /var/run/screen/S-root. [root@localhost ~]# top #第四步:执行 top 监控命令 top - 23:01:44 up 45 mi........ B客户机设置 [root@localhost ~]# ssh 192.168.1.83 #第一步:在B客户用SSH机登陆到服务器 [root@localhost ~]# screen -x lws3 #第二步:恢复到 lws3这个会话,这样 客户端A和客户端B的终端界面始终同步

    外网连接SSH

    第一步:购买(花生壳盒子),然后进入官网 https://www.oray.com/ 下载(设备助手)并照官网教程设置第二步:下载花生壳客户端并注册账号,绑定(花生壳盒子)第三步:打开花生壳客户端,如图点击(映射数) 第四步:如图,在(花生壳管理)的(内网窗透)点击(增加映射) 第五点:如图设置,注:网网端口可以随机分配也可自定义 第六步:在客户端输入: ssh 域名(注册花生壳送的) -p 端口(外网端口,如上面的16971)

    例:sh aaaa.oicp.net -p 16971

    注:用 SecureCRTPortable.exe 远程连接工具同样可以域名登陆
    Processed: 0.009, SQL: 9