请选择 进入手机版 | 继续访问电脑版

CentOS 7 - Securing OpenSSH(二)

[复制链接]
奇奇女 发表于 2020-12-31 19:20:55 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
文章目次



Securing OpenSSH

上文:CentOS 7 - Securing OpenSSH(一)
6. 在防火墙处过滤 SSH

如果您只需要从一个 IP 地点举行远程访问(好比从工作地点到您的家庭服务器),那么思量在您的路由器中添加防火墙规则来过滤防火墙上的毗连,将访问限制为仅该特定的 IP 地点。
在防火墙服务中使用 rich-rules 来允许 SSH 只在特定的端口上。源地点可以是单个地点,也可以是带位掩码的基址:
  1. # use 'ssh' or 'ssh-custom' depending on which are enabled and available$ firewall-cmd --permanent --remove-service="ssh" $ firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="72.232.194.162" service name="ssh-custom" accept'$ firewall-cmd --reload
复制代码
SSH also natively supports TCP wrappers and access to the ssh service may be similarly controlled using hosts.allow and hosts.deny.
如果您不能限制源 IP 地点,而且必须全局打开 SSH 端口,那么可以限制其尝试毗连的次数:
  1. # use 'ssh' or 'ssh-custom' depending on which are enabled and available$ firewall-cmd --permanent --remove-service="ssh"$ firewall-cmd --permanent --add-rich-rule='rule service name="ssh-custom" accept limit value="4/m" log'$ firewall-cmd --reload
复制代码
第一个下令删除了更宽松的服务规则,第二个下令设置了一条规则,每分钟只继承 4 个毗连,并纪录所有毗连。
7. 使用公有/私有密钥举行身份认证

使用密钥举行认证有两个主要长处。第一,如果你使用公/私密钥对举行认证,你无需输入暗码(除非你使用暗码加密密钥对)。第二,一旦在服务器上创建公/私密钥对认证,你可以完全地禁用 SSH 服务的暗码认证,这意味着没有已授权的私钥,你将无法得到访问权限 – 因此,就没有暗码破解攻击。
创建公/私密钥对并将其安装在使用 SSH 服务的服务器上的步调是相当简单的。
首先,在你的客户端上创建一个公/私密钥对:
  1. $ ssh-keygen -t rsa
复制代码
  1. Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'.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:SHA256:pT1KVqS9SdC9MUkCcR1JfRGDS8NhO8dj2G3uR3mbhU0 root@localhost.localdomainThe key's randomart image is:+---[RSA 2048]----+|        +++==Bo+o||         *..O=* +||        . = .BoBE||         * o..+*o||        S =   ..*||       o . .   o=||        .      oo||                .||                 |+----[SHA256]-----+
复制代码


  • 第 2 行:输入一个文件名,用于生存私钥。如果直接按回车键,则使用默认路径;
  • 第 4 行:输入暗码,用于加密私钥。如果不提供暗码直接按回车键,则每一个使用你的账户的人都可以访问该私有密钥,这是极其危险的;
  • 第 5 行:确认上一步调的暗码。
以上操纵将在 ~/.ssh 目次中创建两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。
接着,设置 ~/.ssh 目次及私钥的权限:
  1. $ chmod 700 ~/.ssh$ chmod 600 ~/.ssh/id_rsa
复制代码
然后,使用 scp [[user@]host1:]file1 ... [[user@]host2:]file2 下令将公钥复制到服务器上,并将其安装到 authorized_keys 列表:
  1. $ cat id_rsa.pub >> ~/.ssh/authorized_keys
复制代码
注意:一旦你乐成导入公钥,就可以将其删除。
and finally set file permissions on the server:
最后,设置 ~/.ssh 目次及 authorized_keys 列表的权限:
  1. $ chmod 700 ~/.ssh$ chmod 600 ~/.ssh/authorized_keys
复制代码
如果 /etc/ssh/sshd_config 文件中的 StrictModes 值为 yes(默认),则以上权限是必须的。
确保正确的 SELinux 环境被设置:
  1. $ restorecon -Rv ~/.ssh
复制代码
现在,当你登录服务器时,你将不会被提示输入暗码(除非你在创建密钥对时输入了暗码)。默认情况下,SSH 将首先尝试使用密钥对举行认证。如果没有找到密钥或者认证失败,那么 SSH 将尝试使用暗码认证。
一旦你确认使用公/私密钥对可以大概乐成地登录到服务器,你就可以完全地禁用暗码认证,只需在 /etc/ssh/sshd_config 文件中添加:
  1. # Disable password authentication forcing use of keysPasswordAuthentication no
复制代码
参考

Securing OpenSSH
CentOS 7 - 在两台主机之间复制文件(scp (security copy))

来源:https://blog.csdn.net/qq_29761395/article/details/111938590
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )