如何将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
相关产品推荐
相关产品推荐

