You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SSH认证提示改为终端内显示而非可视化弹窗?

如何将SSH认证提示改为终端内显示而非可视化弹窗?

嘿,这个问题我之前帮好几个朋友解决过,刚好有几个实用的方法,你可以根据自己的情况选:

  • 修改SSH客户端配置(一劳永逸)
    打开终端,编辑用户专属的SSH配置文件:

    nano ~/.ssh/config
    

    往里面添加(或者修改已有的)这些配置项:

    Host *
      PreferredAuthentications publickey,password
      GSSAPIAuthentication no
      PubkeyAuthentication yes
    

    这里的核心是PreferredAuthentications指定了优先用公钥和密码认证,同时禁用了可能触发可视化弹窗的GSSAPI认证。编辑完按Ctrl+O保存,回车确认文件名,再按Ctrl+X退出编辑器。下次再SSH连接你的Ubuntu桌面机,认证提示就会乖乖出现在终端里了。

  • 临时禁用可视化SSH代理
    很多桌面环境(比如GNOME)会默认启动可视化的密钥管理工具(比如gnome-keyring),这就是弹窗的源头。你可以在终端里先取消相关环境变量,再连接试试:

    unset SSH_AUTH_SOCK
    ssh 你的用户名@桌面机IP地址
    

    如果这个方法管用,你可以把unset SSH_AUTH_SOCK加到你的~/.bashrc或者~/.zshrc文件末尾,这样每次打开终端都会自动生效,不用每次手动输入。

  • 临时用命令行参数强制终端认证
    要是你不想改配置文件,只想临时测试一下,直接在SSH命令里加参数就行:

    ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no 你的用户名@桌面机IP地址
    

    这个命令会跳过公钥认证,直接在终端里要求输入密码,绝对不会弹出可视化窗口。

另外,如果是用SSH密钥登录的情况,你可以用终端里的ssh-agent来加载密钥,而不是依赖桌面的可视化工具:

eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

这时候输入密钥的密码会在终端里显示,之后一段时间内再SSH连接就不用重复输密码了。

备注:内容来源于stack exchange,提问作者Ricardo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:00:29