网易首页 > 网易号 > 正文 申请入驻

保护 SSH 的 3 个技巧 | Linux 中国

0
分享至

导读:以下是我如何优化我的 SSH 体验并保护我的服务器不被非法访问。                       

本文字数:3143,阅读时长大约: 5分钟

https://linux.cn/article-14291-1.html
作者:Jonathan Garrido
译者:Xingyu.Wang

SSH(安全 Shell)是一个协议,它使你能够创建一个经过验证的私人连接,并使用加密密钥保护通道,在另一台机器上启动一个远程 Shell。使用这种连接,你可以执行远程命令,启动安全文件传输,转发套接字、显示和服务,等等。

在 SSH 出现之前,大多数远程管理是通过 telnet 完成的,公平地说,一旦你能建立一个远程会话,你几乎可以做任何你需要的事情。这个协议的问题是,通讯是以纯明文的方式进行的,没有经过加密。使用 www.redhat.com 不需要太多努力就可以看到一个会话中的所有数据包,包括那些包含用户名和密码的数据包。

有了 SSH,由于使用了非对称密钥,参与通信的设备之间的会话是加密的。如今,这比以往任何时候都更有意义,因为所有的云服务器都是由分布在世界各地的人管理的。

3 个配置 SSH 的技巧

SSH 协议最常见的实现是 OpenSSH,它由 OpenBSD 项目开发,可用于大多数 Linux 和类 Unix 操作系统。一旦你安装了这个软件包,你就会有一个名为 sshd_config 的文件来控制该服务的大部分行为。其默认设置通常是非常保守的,但我倾向于做一些调整,以优化我的 SSH 体验,并保护我的服务器不被非法访问。

1、改变默认端口

这是一个并非所有管理员都记得的问题。任何有端口扫描器的人都可以发现一个 SSH 端口,即使你之后把它移到别的端口,所以你很难把自己从危险中移除,但这样却会有效的避免了数百个针对你的服务器扫描的不成熟脚本。这是一个可以让你省心,从你的日志中减去大量的噪音的操作。

在写这篇文章时,我在一个云服务提供商上设置了一个 SSH 服务器,默认端口 TCP 22,每分钟平均被攻击次数为 24 次。在将端口改为一个更高的数字,即 TCP 45678 后,平均每天有两个连接并用各种用户名或密码进行猜测。

要改变 SSH 的默认端口,在你喜欢的文本编辑器中打开 /etc/ssh/sshd_config,将 Port 的值从 22 改为大于 1024 的某个数字。这一行可能被注释了,因为 22 是默认的(所以不需要在配置中明确声明),所以在保存之前取消注释。

  1. Port 22122

  2. #AddressFamily any

  3. #ListenAddress 0.0.0.0

  4. #ListenAddress ::

一旦你改变了端口并保存了文件,重新启动 SSH 服务器:

  1. $ sudo systemctl restart sshd

2、不要使用密码

现在有一个普遍的潮流是停止使用密码作为认证手段,双因素认证等方法越来越受欢迎。OpenSSH 可以使用非对称密钥进行认证,因此不需要记住复杂的密码,更不需要每隔几个月轮换一次密码,也不需要担心有人在你建立远程会话时进行“肩后偷窥”。使用 SSH 密钥可以让你快速、安全地登录到你的远程设备上。这往往意味着花费在错误的用户名和密码上的时间更少。登录令人愉快的简单。当没有密钥时,就没有入口,甚至没有提示符。

要使用这个功能,你必须同时配置客户机(在你面前的计算机)和服务器(远程机器)。

在客户端机器上,你必须生成一个 SSH 密钥对。这包括一个公钥和一个私钥。正如它们的名字所暗示的,一个公开的密钥是供你分发给你想登录的服务器的,另一个是私人的密钥,必须不与任何人分享。使用 命令可以创建一个新的密钥对,并使用 -t 选项来指定一个好的、最新的密码学库,如 ed25519

  1. $ ssh-keygen -t ed25519

  2. Generating public/private ed25519 key pair.

  3. Enter file in which to save the key (~/.ssh/id_ed25519):

在密钥创建过程中,你会被提示为文件命名。你可以按回车键来接受默认值。如果你将来创建了更多的密钥,你可以给每个密钥起一个自定义的名字,但有多个密钥意味着你要为每次交互指定使用哪个密钥,所以现在只要接受默认即可。

你还可以给你的密钥一个口令。这可以确保即使别人设法获得你的私钥(这本身就不应该发生),没有你的口令,他们也无法将其投入使用。这对某些密钥来说是一种有用的保护措施,而对其他密钥来说则不合适(特别是那些用于脚本的密钥)。按回车键让你的密钥没有口令,或者你选择创建一个口令。

要把你的密钥复制到服务器上,使用 命令。例如,如果我拥有一台名为 example.com 的服务器,那么我可以用这个命令把我的公钥复制到它上面:

  1. $ ssh-copy-id jgarrido@example.com

这将在服务器的 .ssh 目录下创建或修改 authorized_keys 文件,其中包含你的公钥。

一旦确认 命令完成了它所做的事情,尝试从你的电脑上登录,以验证你可以在没有密码的情况下登录(或者如果你选择使用你的密钥的口令,就输入密钥口令)。

在没有使用你的服务器帐户的密码登录到你的服务器上后,编辑服务器的 sshd_config 并将 PasswordAuthentication 设置为 no

  1. PasswordAuthentication no

重新启动 SSH 服务以加载新的配置:

  1. $ sudo systemctl restart sshd

3、决定谁可以登录

大多数发行版不允许 root 用户通过 SSH 登录,这确保只有非特权账户是活跃的,根据需要使用 命令来提升权限。这就防止了一个明显的、令人痛苦的目标(root)受到简单而常见的脚本攻击。

同样,OpenSSH 的一个简单而强大的功能是能够决定哪些用户可以登录到一台机器。要设置哪些用户被授予 SSH 访问权,在你最喜欢的文本编辑器中打开 sshd_config 文件,并添加这样一行:

  1. AllowUsers jgarrido jane tux

重新启动 SSH 服务以加载新的配置选项。

这只允许三个用户(jgarridojanetux)登录或在远程机器上执行任何操作。

总结

你可以使用 OpenSSH 来实现一个强大而稳健的 SSH 服务器。这些只是加固你的系统的三个有用的选项。尽管如此,在 sshd_config 文件中仍有大量的功能和选项可以打开或关闭,而且有许多很棒的应用程序,如 opensource.com,你可以用来进一步保护你的 SSH 服务。

via:

作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

欢迎遵照 CC-BY-NC-SA 协议规定转载,

如需转载,请在文章下留言 “ 转载:公众号名称”,

我们将为您添加白名单,授权“ 转载文章时可以修改”。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
“售楼处电话被打爆”!上海楼市新政后,有业主熬夜卖房,“比之前同户型最低价高了360万元”

“售楼处电话被打爆”!上海楼市新政后,有业主熬夜卖房,“比之前同户型最低价高了360万元”

每日经济新闻
2024-06-14 00:25:04
记者:张玉宁以前留洋回国时贴钱买商务舱票,坐经济舱有受伤风险

记者:张玉宁以前留洋回国时贴钱买商务舱票,坐经济舱有受伤风险

直播吧
2024-06-13 14:14:13
日本官方最新数据:人均海鲜年消费量暴跌50%!只因核污水排海?

日本官方最新数据:人均海鲜年消费量暴跌50%!只因核污水排海?

不掉线电波
2024-06-13 23:16:14
黄一鸣被曝生活拮据:给王思聪女儿穿20块衣服,喝200块的奶粉!

黄一鸣被曝生活拮据:给王思聪女儿穿20块衣服,喝200块的奶粉!

古希腊掌管月桂的神
2024-06-12 20:19:26
越闹越大!原国安教练李章洙公开讨要自己的房子,网友评论区炸锅

越闹越大!原国安教练李章洙公开讨要自己的房子,网友评论区炸锅

180°视角
2024-06-13 12:15:25
俄向克里米亚部署最先进的S500,阿根廷向乌克兰援助超级军旗

俄向克里米亚部署最先进的S500,阿根廷向乌克兰援助超级军旗

史政先锋
2024-06-13 19:53:16
问界M9翻滚下山崖全景图曝光之后,网友们对山崖又有了新的认识

问界M9翻滚下山崖全景图曝光之后,网友们对山崖又有了新的认识

映射生活的身影
2024-06-13 18:26:51
笑疯了!大陆无人机往台湾空投粽子,台湾网友怒吼:必须是肉粽

笑疯了!大陆无人机往台湾空投粽子,台湾网友怒吼:必须是肉粽

谈娱新语
2024-06-13 22:08:47
后续!女孩瓦屋山飞石砸亡:身份被曝光,家境太凄惨,目击者发声

后续!女孩瓦屋山飞石砸亡:身份被曝光,家境太凄惨,目击者发声

影像温度
2024-06-13 17:26:28
养老金调整通知6月13日公布,企退人员涨幅或达3.6%?

养老金调整通知6月13日公布,企退人员涨幅或达3.6%?

小毅讲历史
2024-06-13 07:57:39
海归科学家被湖南警方跨省抓捕,涉嫌“侵犯商业秘密罪”

海归科学家被湖南警方跨省抓捕,涉嫌“侵犯商业秘密罪”

付松访谈
2024-06-13 14:02:48
官宣!多特宣布欧冠亚军教头下课,3年2次被解雇,35岁功臣继任

官宣!多特宣布欧冠亚军教头下课,3年2次被解雇,35岁功臣继任

阿超他的体育圈
2024-06-13 19:19:26
王思聪黄一鸣牵手照曝光,黄一鸣挺着大孕肚,挑选母婴用品!

王思聪黄一鸣牵手照曝光,黄一鸣挺着大孕肚,挑选母婴用品!

柠檬有娱乐
2024-06-13 11:20:07
今夜,“崩了”!

今夜,“崩了”!

中国基金报
2024-06-14 00:13:30
乔尔杰维奇卸任后正式发声:感谢篮协+姚明 祝福中国男篮和球员

乔尔杰维奇卸任后正式发声:感谢篮协+姚明 祝福中国男篮和球员

醉卧浮生
2024-06-13 20:40:36
提前晋级奥运!中国女排锁定巴黎奥运资格

提前晋级奥运!中国女排锁定巴黎奥运资格

懂球帝
2024-06-13 19:13:53
17岁男孩跳江轻生,母亲江边崩溃大哭,亲戚发声,不是高考原因

17岁男孩跳江轻生,母亲江边崩溃大哭,亲戚发声,不是高考原因

180°视角
2024-06-13 16:16:24
出租车司机撞烂合伙人的保时捷装病去医院,民警查出“隐情”

出租车司机撞烂合伙人的保时捷装病去医院,民警查出“隐情”

澎湃新闻
2024-06-13 14:32:29
骆家辉:中国最好不要自主生产顶尖芯片,因为美国会看不到希望!

骆家辉:中国最好不要自主生产顶尖芯片,因为美国会看不到希望!

嘿哥哥科技
2024-06-13 21:05:47
哪些国家参加瑞士和平峰会?巴西去了可以理解,连阿富汗都参加?

哪些国家参加瑞士和平峰会?巴西去了可以理解,连阿富汗都参加?

翻开历史和现实
2024-06-13 12:42:21
2024-06-14 06:42:44
Linux
Linux
Linux 中国开源社区
8016文章数 73123关注度
往期回顾 全部

科技要闻

小红书员工仅1/5工龄满2年 32岁就不让进了

头条要闻

欧盟拟加税 玉渊谭天:中方可对欧盟白兰地等采取行动

头条要闻

欧盟拟加税 玉渊谭天:中方可对欧盟白兰地等采取行动

体育要闻

乔丹最想单挑的男人走了

娱乐要闻

森林北报案,称和汪峰的感情遭受压力

财经要闻

私募大佬孙强:中国为什么缺少耐心资本

汽车要闻

升级8155芯片 新款卡罗拉锐放售12.98-18.48万

态度原创

艺术
本地
手机
数码
军事航空

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

本地新闻

粽情一夏|海河龙舟赛,竟然成了外国人的大party!

手机要闻

iOS 18上线关机按钮:iPhone关机更方便了

数码要闻

三星 Galaxy Watch 首款 FE 产品正式发布,199 美元起

军事要闻

美军演习将罕见以4万吨级准航母作为靶舰

无障碍浏览 进入关怀版