V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lakechan96
V2EX  ›  macOS

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

  •  
  •   lakechan96 · 2015-07-25 23:11:02 +08:00 · 3031 次点击
    这是一个创建于 3207 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我给私钥设置了一个passphrase
    当我第一次 ssh -i .ssh/pubkey [email protected] -pxx的时候,会出现一个系统弹窗要求我输入passphrase,然后输入之后就链接上了服务器。到这里一切都很正常。

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

    想问问大家也是这个情况吗,感觉还是个挺大的安全问题
    第 1 条附言  ·  2015-07-25 23:45:39 +08:00
    -i 后面写的pubkey纯属手滑....
    17 条回复    2015-07-28 10:59:59 +08:00
    bingwenshi
        1
    bingwenshi  
       2015-07-25 23:24:54 +08:00
    你既然用了公私钥,为何还用password ?

    另外 -i 参数后不是应该跟私钥地址 ?
    lakechan96
        2
    lakechan96  
    OP
       2015-07-25 23:27:25 +08:00
    @bingwenshi 并不是password,而是passphrase,-i 后面确实是私钥文件没有错啊
    046569
        3
    046569  
       2015-07-25 23:39:39 +08:00
    ssh-agent
    RIcter
        4
    RIcter  
       2015-07-25 23:42:47 +08:00
    @lakechan96 pubkey 是公钥的名字 23333
    lakechan96
        5
    lakechan96  
    OP
       2015-07-25 23:44:05 +08:00
    @046569 搜索了一下并没有理解这个东西跟问题有什么直接或者间接关联...求指教?
    lakechan96
        6
    lakechan96  
    OP
       2015-07-25 23:44:27 +08:00
    @RIcter OAO手一滑写错了!
    pH
        7
    pH  
       2015-07-26 08:35:11 +08:00
    系统为了方便考虑
    如果不这么做,届时又有人说,两个passphrase都不能记住,麻烦死了,啥破烂系统
    046569
        8
    046569  
       2015-07-26 10:05:48 +08:00
    昨天比较忙,没来得及解释,抱歉。
    ssh-agent 会暂时帮你保存 passphrase ,避免反复输入。
    该设置在退出当前会话后失效。
    从历史上来看,针对它的漏洞不多,所以一般认为是安全的。
    所以我猜测你疑惑的问题根源在这。
    leondotli
        9
    leondotli  
       2015-07-26 10:07:16 +08:00
    应该存在当前login session中,重启后应该就会提示passphrase了。
    julyclyde
        10
    julyclyde  
       2015-07-26 20:39:14 +08:00
    Mac OS X的ssh-agent是改造过的,凡是ssh客户端“尝试”去连接ssh-agent,它如果还没启动,就会被launchd启动,提供服务
    lakechan96
        11
    lakechan96  
    OP
       2015-07-26 22:41:20 +08:00
    @pH 主要是连选择的余地都没有啊,没有勾选保存到key chain,仍然保存了
    tony1016
        12
    tony1016  
       2015-07-27 09:21:58 +08:00
    我一直想在Windows和Linux上找到像mac这样方便的功能,结果还是没有找到……
    lakechan96
        13
    lakechan96  
    OP
       2015-07-27 17:30:55 +08:00
    @tony1016 PuTTY呀
    tony1016
        14
    tony1016  
       2015-07-28 09:22:20 +08:00
    @lakechan96 Putty还要启动什么Agent,感觉也挺麻烦
    likuku
        15
    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
        16
    likuku  
       2015-07-28 10:55:02 +08:00
    @bingwenshi 「你既然用了公私钥,为何还用password ? 」假若私钥丢了,可以防止别人拿到私钥直接使用,为在远程服务器上删除泄密的私钥-公钥赢得一点时间。
    likuku
        17
    likuku  
       2015-07-28 10:59:59 +08:00   ❤️ 1
    @tony1016 ubuntu/xubuntu 自带的桌面环境配置 (是xubuntud/ubuntu登录配置,而非xface/gnome登录配置,登录时可选) 就可以了。

    另外,其它发行版/freebsd 可以用 ssh-askpass 这个工具,可以设定为登录入桌面时自动启动,那时可以在 ssh-askpass 界面输入 默认密钥的 passphrase,只要你账户不注销/重启,那么随便在终端下 ssh 已经放好对应公钥的 机器,就直接是已认证状态登入。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   792 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:21 · PVG 06:21 · LAX 15:21 · JFK 18:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.