VSCode远程免密登录

VSCode远程免密登录

步骤

  1. 本地生成密钥

    生成命令如下:

    ssh-keygen -t rsa
    

    会生成id_rsa, id_rsa.pub两个文件

  2. 公钥拷贝到服务器

    将公钥id_rsa.pub拷贝到服务器的\home\用户名\.ssh\下。

  3. 添加公钥

    在服务器上,把公钥加入到authorized_keys中

    cat ./.ssh/id_rsa.pub >> ./.ssh/authorized_keys
    
  4. 配置vscode

    使用Remote - ssh插件

    Host ***
      HostName xx.xx.xx.xx
      User xxxx
      Port xx
      IdentityFile "window上私钥id_rsa的文件目录"
    

问题

  1. 问题1:

    配置完成后,仍然需要输入密码
    
    • 可能原因:authorized_keys 文件权限问题

      • ssh 处于安全性考虑,对.ssh目录下的文件权限内容有着严格的权限要求
      • 文件authorized_keys除了属主拥有读写(-rw)权限以外,属组其他用户应该没有任何权限
      • ssh对于文件权限的要求
    • 处理:

      cd .ssh
      chmod 700 ../
      chmod 700 .
      chmod 600 authorized_keys
      
    • 文件权限:

      • drwxrw-r--

        • 第一个字符:d是目录,-是文件,l是链接文档
        • 后续三个字符一组:
          • 第一组:user permissions
          • 第二组:group permissions
          • 第三组:other permissions
          • rwx分别表示读,写,执行
          • -表示没有权限
        • 文件权限格式
      • 600 :[4+2+0] [0+0+0] [0+0+0],表示 rw-------,即属主有读写权限,组内和其他用户没有任何权限

      • 700:[4+2+0] [0+0+0] [0+0+0],表示 rwx------,即属主有读写执行权限,组内和其他用户没有任何权限

      • 文件权限数字的含义
    • 参考:

posted @ 2021-07-30 14:26  Dawn嗯  阅读(120)  评论(0)    收藏  举报