SSH 使用密钥登录并禁止口令登录实践

2015 年 7 月 7 日
 wsgzao


## 前言
无论是个人的VPS还是企业允许公网访问的服务器,如果开放22端口的SSH密码登录验证方式,被众多黑客暴力猜解捅破菊花也可能是经常发生的惨剧。企业可以通过防火墙来做限制,普通用户也可能借助修改22端口和强化弱口令等方式防护,但目前相对安全和简单的方案则是让SSH使用密钥登录并禁止口令登录。

>这是最相对安全的登录管理方式

---

## 更新历史

2015年07月07日 - 初稿

阅读原文 - http://wsgzao.github.io/post/ssh/

扩展阅读

- SSH原理与运用 - http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
- Linode - https://www.linode.com/docs/networking/ssh/use-public-key-authentication-with-ssh
7373 次点击
所在节点    程序员
34 条回复
realpg
2015 年 7 月 7 日
技术安全性上用私钥登陆确实安全性比较高
但是实际场景下,秘钥登陆可能更坑,除非你自己维护就你自己登陆就你自己使用。一个保管不当的秘钥的危害性更大。
所以一般我都是禁用私钥登陆强制口令登陆的
onemoo
2015 年 7 月 7 日
@realpg 那得保管的多差才能私钥和passphrase一起泄露。如果真的是这么差劲的话,恐怕密码泄露会更容易。
finian
2015 年 7 月 7 日
@realpg 可以给密钥加 passphrase
szopen
2015 年 7 月 7 日
我在考虑一个问题,就是当只能用私钥登录时, 密钥没备份,但是电脑坏了怎么办?
mongodb
2015 年 7 月 7 日
@szopen 没备份这个不能怪别人只能怪自己..
ryd994
2015 年 7 月 7 日
@szopen 加两个私钥,一个常用一个放u盘应急
cloverstd
2015 年 7 月 7 日
@szopen 放在网盘或者邮箱
Tink
2015 年 7 月 7 日
@szopen 不备份也敢禁用口令登陆?
szopen
2015 年 7 月 7 日
林子大了什么情况都能发生
maxsec
2015 年 7 月 7 日
楼主敢不敢放一个微信扫描terminal输出的二维码登录ssh的linux组件
johnsmith123
2015 年 7 月 7 日
这些和1+1=2 没啥区别(废话)
AssassinLOVE
2015 年 7 月 7 日
这是新发明?
abv
2015 年 7 月 7 日
一直用私钥登录,不然每次得输入密码,就是机器变了的话很头疼
clino
2015 年 7 月 7 日
@szopen 没备份跟忘记密码是一样的下场
whattheh3ll
2015 年 7 月 7 日
我都是禁用 root 登入,其他账号开两步验证。
nozama
2015 年 7 月 7 日
万一私钥泄漏, 危及范围就有点广了.
我的办法是:
0. 在iCloudDrive保存一个文件.
1. 每次要用密码, 就用md5 filename生成密码
2. 用这个密码登录.
这样就算iCloud泄漏了, 一般也没人知道我是这样生成密码的...
wsgzao
2015 年 7 月 7 日
@nozama 私钥一般加passphrase,不用太担心私钥泄露
Tink
2015 年 7 月 7 日
@maxsec 好像很不错的主意,偶试试看
airyland
2015 年 7 月 7 日
@Tink 期待一下~
wsgzao
2015 年 7 月 7 日
@maxsec 这个方法不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/203932

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX