(十)远程访问和控制:OpenSSH 与 TCPwrappers 全剖析

[复制链接]
发表于 2024-10-16 17:47:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、OpenSSH 远程管理



  • 远程管理的方式

    • telnet:重要用于网络设备的远程管理。它的缺点是传输数据为明文,安全性较差,因此更适合在局域网中进行远程管理。
    • ssh:可用于网络设备或者 Linux 操纵系统的远程管理。其上风在于安全性强,传输的数据会被加密,适合通过广域网进行远程管理。

  • ssh 组成

    • 服务器端:openssh-server 端,负责验证和授权远程访问。
    • 客户端:用于和服务器创建远程连接。

  • 安装 OpenSSH 服务器端和客户端

    • 安装服务器端:使用命令[root@centos01 ~]# rpm -ivh /mnt/Packages/openssh-server-7.4p1-11.el7.x86_64.rpm。
    • 安装客户端:使用命令[root@centos01 ~]# rpm -ivh /mnt/Packages/openssh-clients-7.4p1-11.el7.x86_64.rpm。
    • 备份主设置文件:使用命令[root@centos01 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak。


二、设置 ssh 服务器端



  • 设置账户密码验证

    • 修改主设置文件:通过命令[root@centos01 ~]# vim /etc/ssh/sshd_config进行设置,设置监听端口为Port 22,监听 IP 地点为ListenAddress 192.168.100.10,超时势件为 2 分钟即LoginGraceTime 2m,答应 root 远程登录(可设置为no禁止 root 被远程登录)即PermitRootLogin yes,验证重试次数为 6 次即MaxAuthTries 6,最大答应 10 个客户端访问即MaxSessions 10,禁止密码为空的用户远程登录即PermitEmptyPasswords yes,开启账户密码限制即PasswordAuthentication yes。
    • 重启 ssh 远程服务:使用命令[root@centos01 ~]# systemctl restart sshd。
    • 客户端远程登录:使用命令[root@centos02 ~]# ssh [email protected]远程登录到主机 192.168.100.10,断开连接使用命令[root@centos01 ~]# exit。

  • 设置修改远程服务器端口访问控制

    • 修改主设置文件:使用命令[root@centos01 ~]# vim /etc/ssh/sshd_config,设置监听端口为Port 88,禁止 root 登录即PermitRootLogin no,答应 192.168.100.30 通过 bob 和 root 登录即allowUsers root [email protected],拒绝 192.168.100.30 通过 tom 登录即denyUsers [email protected]。
    • 重新启动服务:使用命令[root@centos01 ~]# systemctl restart sshd。
    • 客户端登录:使用命令[root@centos02 ~]# ssh -p 88 [email protected]。

  • 设置免交互式身份验证 ssh 远程

    • 修改服务器端设置文件:使用命令[root@centos01 ~]# vim /etc/ssh/sshd_config,开启密钥对身份验证即PubkeyAuthentication yes,设置存储客户端公钥的文件为.ssh/authorized_keys即AuthorizedKeysFile.ssh/authorized_keys。
    • 客户端设置天生密钥对:使用命令[root@centos03 ~]# ssh-keygen -t RSA天生密钥对(算法使用 RSA),使用命令[root@centos03 ~]# ssh-copy-id -i [email protected]将客户端的公钥上传到远程服务器。

  • ssh 客户端常用命令

    • 本地数据使用 scp 复制远程主机:

      • [root@centos02 ~]# scp /opt/1.txt [email protected]:/opt/:将本地的/1.txt 文件上传到目标主机的/opt 目录。
      • [root@centos02 ~]# scp -r /opt/ [email protected]:/opt/:将本地/opt 目录循环上传到目标主机的/opt 目录。

    • 远程主机数据复制本地:

    • sftp 上传数据:

      • 使用命令[root@centos02 ~]# sftp 192.168.100.10登录远程主机 100.10(默认在宿主目录)。然后可以使用sftp> pwd查看远程主机目录,使用sftp> cd /切换远程主机到根目录,使用sftp> put./1.iso将本地数据上传到远程主机,末了使用sftp> exit断开连接。

    • Windows 数据上传到 Linux 系统:可以使用 xshell、Winscp 等工具。

  • TCPwrappers

    • TCPwrappers 作用:对应用层协议进行访问控制。
    • 访问控制文件类型:

      • /etc/hosts.allow:用于答应访问。
      • /etc/hosts.deny:用于拒绝访问。

    • 访问计谋检查次序:先检查hosts.allow,如果匹配则答应访问,不再向下检查;如果hosts.allow没有匹配,则检查hosts.deny,匹配后拒绝访问;如果两个文件为空,则默认答应访问。
    • 控制计谋组成:服务名字列表:客户机地点列表。
    • 访问计谋复制:

      • *:通配符。
      • ?:匹配单个字符。

    • 只答应 192.168.100.30 主机使用 sshd 服务:使用命令[root@centos01 ~]# vim /etc/hosts.allow设置为sshd:192.168.100.30,使用命令[root@centos01 ~]# vim /etc/hosts.deny设置为sshd:ALL。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表