博客
关于我
单元8:Linux系统的远程登陆服务
阅读量:783 次
发布时间:2019-03-22

本文共 1932 字,大约阅读时间需要 6 分钟。

一、Openssh的功能

Openssh是一个强大的安全套件,主要用于管理远程服务器的安全-shell访问权限。以下是其核心功能:
  • sshd服务的用途

    Openssh 提供了一个安全的远程登录服务,通过(frame overlooking网络可实现从本地主机到远程主机的安全bash连接。其服务端称为sshd daemon,而客户端则是ssh客户端工具

  • 安装与配置

    要在Linux系统上安装并配置Openssh,可以通过以下步骤完成:

    • 安装包:使用包管理器安装openssh-server,例如apt install openssh-server
    • 主配置文件:默认配置文件位于/etc/ssh/sshd_conf(可能根据系统版本有所不同)。
    • 端口设置:默认端口为22,但可根据需求进行端口号修改。
  • 客户端连接

    使用ssh命令访问远程服务器,格式为:

    ssh [username@]host_or_ip

    例如,连接IP地址172.25.254.129并以root用户登录,可以使用ssh root@172.25.254.129

  • 二、SSH命令的使用

    SSH命令是连接远程服务器的核心工具,具有多种选项可满足不同的场景:
  • 参数解析

    • -l:指定远程主机的用户名。
    • -i:指定私钥文件,支持key-based认证。
    • -X:开启X11遥测传输,便于图形应用远程运行。
    • -t:启用后台模式,便于脚本自动化操作。
    • -f:指定 Officers文件用于调试。
  • 常用场景:

    • 默认连接:直接输入ssh root@172.25.254.129
    • 私钥认证:使用ssh -i /root/.ssh/id_rsa root@172.25.254.129
    • 通过跳板机:例如,先连接到中转服务器,再跳转到目标服务器,命令格式为ssh -J user@middle_host user@target_host
  • 特殊情况处理:

    当感染Warning出现强制身份验证失败时,需检查/root/.ssh/known_hosts文件,删除或修复相关 pubkey,并重启sshd服务:

    vim ~/.ssh/known_hosts  systemctl restart sshd
  • ssh 常用参数

    - **`-l`**:指定远程用户,支持多级连接。 - **`-i`**:私钥认证,强烈推荐代替密码认证。 - **`-X`**:支持X11转发,适合图形软件。 - **`-o`**:自定义传输选项,提升连接速度或稳定性。 - **`-t`**:后台运行,配合`-f`或脚本执行。

    三、sshd key认证

    Key-based认证是现代 Openssh配置的最佳选择,它采用非对称加密模式,相比对称加密方式具有显著优势:
  • 认证类型

    • 对称加密:加密和解密使用相同的密钥,实现快速加密,但易于被破解,且密钥 文件易于泄露。
    • 非对称加密:加密使用公钥,解密使用对应的私钥。这种方式安全性高,且即使被截获,也难以因中间人攻击成功登录。
  • 密钥生成

    使用ssh-keygen生成非对称密钥:

    ssh-keygen

    生成完成后,一ustomedential路径为~/.ssh/id_rsa(私钥),并将公钥文件复制到服务器,并安装:

    ssh-copy-id -i /root/.ssh/id_rsa.pub username@ipaddress
  • 服务器配置

    将接收到的公钥添加到服务器的/root/.ssh/known_hosts文件中,确保感染过程顺利进行。

  • 四、sshd安全优化参数详解

    为保护服务器免受未经授权访问,需配置Openssh的一些重要安全参数:
  • 防火墙设置

    开启firewalld并限制开放端口:

    setenforce 0  systemctl disable --now firewalld
  • 超级用户访问控制

    使用PermitRootLoginPasswordAuthentication参数:

    • PermitRootLogin yes/no:启用/禁用超级用户登录权限。
    • PasswordAuthentication yes/no:开启/关闭原始密码认证方式,建议关闭以强制使用密钥认证。
  • 用户访问控制

    可以通过AllowUsersDenyUsers限制用户访问:

    • 允许特定用户访问:AllowUsers lee,只允许lee用户登录。
    • 禁止特定用户访问:DenyUsers lee,阻止lee用户登录。
  • 默认配置修改

    (注:如需进一步优化,可参考服务器的完整配置文件 /etc/ssh/sshd_conf

  • 通过以上配置和调整,可以显著提升 SSH 连接的安全性,降低被攻击的风险。

    转载地址:http://wxewk.baihongyu.com/

    你可能感兴趣的文章
    mysql 数据库存储引擎怎么选择?快来看看性能测试吧
    查看>>
    MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
    查看>>
    MySQL 数据库的高可用性分析
    查看>>
    MySQL 数据库设计总结
    查看>>
    Mysql 数据库重置ID排序
    查看>>
    Mysql 数据类型一日期
    查看>>
    MySQL 数据类型和属性
    查看>>
    mysql 敲错命令 想取消怎么办?
    查看>>
    Mysql 整形列的字节与存储范围
    查看>>
    mysql 断电数据损坏,无法启动
    查看>>
    MySQL 日期时间类型的选择
    查看>>
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>