关于在 Mac OS X 上使用公私钥方式使用 ssh 登录服务器的疑问

2015-07-25 23:11:02 +08:00
 lakechan96
我给私钥设置了一个passphrase
当我第一次 ssh -i .ssh/pubkey root@xx.xx.xx.xx -pxx的时候,会出现一个系统弹窗要求我输入passphrase,然后输入之后就链接上了服务器。到这里一切都很正常。

但是我在输入passphrase的时候并没有勾选保存到key chain,key chain中却出现了这个key的信息,并且下次我使用key登录服务器,也不会要求我输入passphrase了。更加离谱的是,并没有设置私钥的FileZilla也能直接连接服务器了。

想问问大家也是这个情况吗,感觉还是个挺大的安全问题
3062 次点击
所在节点    macOS
17 条回复
bingwenshi
2015-07-25 23:24:54 +08:00
你既然用了公私钥,为何还用password ?

另外 -i 参数后不是应该跟私钥地址 ?
lakechan96
2015-07-25 23:27:25 +08:00
@bingwenshi 并不是password,而是passphrase,-i 后面确实是私钥文件没有错啊
046569
2015-07-25 23:39:39 +08:00
ssh-agent
RIcter
2015-07-25 23:42:47 +08:00
@lakechan96 pubkey 是公钥的名字 23333
lakechan96
2015-07-25 23:44:05 +08:00
@046569 搜索了一下并没有理解这个东西跟问题有什么直接或者间接关联...求指教?
lakechan96
2015-07-25 23:44:27 +08:00
@RIcter OAO手一滑写错了!
pH
2015-07-26 08:35:11 +08:00
系统为了方便考虑
如果不这么做,届时又有人说,两个passphrase都不能记住,麻烦死了,啥破烂系统
046569
2015-07-26 10:05:48 +08:00
昨天比较忙,没来得及解释,抱歉。
ssh-agent 会暂时帮你保存 passphrase ,避免反复输入。
该设置在退出当前会话后失效。
从历史上来看,针对它的漏洞不多,所以一般认为是安全的。
所以我猜测你疑惑的问题根源在这。
leondotli
2015-07-26 10:07:16 +08:00
应该存在当前login session中,重启后应该就会提示passphrase了。
julyclyde
2015-07-26 20:39:14 +08:00
Mac OS X的ssh-agent是改造过的,凡是ssh客户端“尝试”去连接ssh-agent,它如果还没启动,就会被launchd启动,提供服务
lakechan96
2015-07-26 22:41:20 +08:00
@pH 主要是连选择的余地都没有啊,没有勾选保存到key chain,仍然保存了
tony1016
2015-07-27 09:21:58 +08:00
我一直想在Windows和Linux上找到像mac这样方便的功能,结果还是没有找到……
lakechan96
2015-07-27 17:30:55 +08:00
@tony1016 PuTTY呀
tony1016
2015-07-28 09:22:20 +08:00
@lakechan96 Putty还要启动什么Agent,感觉也挺麻烦
likuku
2015-07-28 10:53:36 +08:00
OSX 的密码机制自动帮你记录的,只要你OSX帐号正常登录,且以前 ssh-key 被正确验证,那么 ssh-key 验证信息貌似就被加入 ssh-agent 里,以后登录 OSX 后就直接能用 已验证过的 ssh-key 了。

我自己上班用的 xubuntu/ubuntu 本身默认也带类似机制,系统账户成功登录,若用过一次 ssh-key 正确输入 passphrase,那么以后也被 ubuntu 的密码机制记录,以后只要正常登录 ubuntu 就可以直接用 ssh-key。
likuku
2015-07-28 10:55:02 +08:00
@bingwenshi 「你既然用了公私钥,为何还用password ? 」假若私钥丢了,可以防止别人拿到私钥直接使用,为在远程服务器上删除泄密的私钥-公钥赢得一点时间。
likuku
2015-07-28 10:59:59 +08:00
@tony1016 ubuntu/xubuntu 自带的桌面环境配置 (是xubuntud/ubuntu登录配置,而非xface/gnome登录配置,登录时可选) 就可以了。

另外,其它发行版/freebsd 可以用 ssh-askpass 这个工具,可以设定为登录入桌面时自动启动,那时可以在 ssh-askpass 界面输入 默认密钥的 passphrase,只要你账户不注销/重启,那么随便在终端下 ssh 已经放好对应公钥的 机器,就直接是已认证状态登入。

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

https://www.v2ex.com/t/208351

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

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

© 2021 V2EX