解决ssh无法免密登录到的远程Linux, 保证vscode remote-ssh的免密访问

本来是为了在Mac系统下实现VSCODE通过remote插件对远程代码的免密访问, 因此如何使用及配置remote, 以及远程服务器若不能正常安装remote相关,需要自己手动安装等事宜不再赘述, 网上有大把的教程.

关于免密访问, 秘钥对已经生成, 公钥文件已经传到远程服务器, sshd_config相关权限设置已开.

但是却无法实现ssh的免密访问. 可以先尝试在终端上通过 ssh username@server_ip 或者 ssh -i id_rsa username@server_ip 及类似命令访问远程服务器, 看是否能实现免密.

我的依然不能免密访问. 原因在于,对~/.ssh 以及 ~/.ssh/authorized_keys的权限设置不对!

要求 分别设置 700 和 600 权限, 但是我发现已经设置的权限高于这2个权限, 就一直没有修改此处,导致一直无法实现免密登录. 原来ssh对目录权限有较高的要求, 必须设置成 700 和 600(有说644也可,未尝试).最后我修改了这两个权限, 立即实现了免密登录, 进而VSCODE remote 也实现了免密访问远程代码.

说明自己对Linux的了解还是很不足的, 以此为戒.

另外,对于Mac用户, 需要执行下ssh-add(mac的坑点),在Mac上执行这条命令:

ssh-add -K [你的私钥文件,就是那个不加.pub结尾的文件] 
# 例如,ssh-add -K id_rsa

还有一点比较坑, 就是每次重启后都要执行这个命令. 不过当然是有解决办法的啦, 参考另外小伙伴写的blog:mac下解决开机需要每次ssh-add的问题_听见下雨的声音hb的博客-CSDN博客

注意:

把生成的public key加到目标机器的~/.ssh/authorized_keys,仍不能直接免密码登录。

原因是ssh 对目录的权限有要求,需要修改ssh目录和文件的权限如下:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值