如何在Midnight Commander(mc)中使用SSH密钥免密连接远程服务器?
如何在Midnight Commander(mc)中使用SSH密钥免密连接远程服务器?
嘿,我之前也碰到过这个烦人的问题!终端用SSH密钥能秒连,一到mc里就得翻找复杂密码复制粘贴,确实够折腾的。其实问题出在mc调用SSH的方式上,只要让它正确用上你的密钥就行,给你几个实用的解决方法:
先确保SSH密钥已加载到ssh-agent
有时候虽然本地有密钥,但ssh-agent没运行或者没加载密钥,mc调用SSH时就会触发密码验证。你可以在终端里先做这两步:- 启动ssh-agent:
eval "$(ssh-agent -s)" - 把你的私钥加载进去(比如默认的id_rsa):
ssh-add ~/.ssh/id_rsa
完成后再打开mc试试,大概率就能免密连接了。
- 启动ssh-agent:
给mc配置带密钥参数的SSH连接
如果上面的方法不管用,你可以直接在mc里创建一个带指定密钥的远程连接:- 打开mc后,按
F9打开顶部菜单,选择你要设置的面板(Left或Right),然后选「Shell link」 - 在弹出的窗口里,「Command」栏输入完整的SSH命令,比如:
ssh -i ~/.ssh/your_private_key username@remote_server - 给这个链接起个好记的名字保存,之后每次用这个链接连远程服务器,mc就会自动用你指定的密钥免密登录了。
- 打开mc后,按
检查权限(以防万一)
虽然你终端能正常连接,但还是确认下本地密钥和文件夹的权限:~/.ssh文件夹权限要设为700:chmod 700 ~/.ssh- 私钥文件权限要设为
600:chmod 600 ~/.ssh/your_private_key
权限不对的话,SSH可能会拒绝使用密钥,mc自然也没法免密。
备注:内容来源于stack exchange,提问作者SO_32
相关产品推荐
相关产品推荐

