VSCode远程开发指南(免密)

VScode远程开发指南

先给出最直接的配置方法:

  1. 先在桌面git bash,输入ssh-keygen -t rsa -b 4096;
  2. 打开 .ssh文件夹,用记事本打开id_rsa.pub文件,复制里面的数据;
  3. 用vim打开服务器的 .ssh/authorized_keys文件,直接粘贴刚刚复制的数据即可。
  4. 大功告成。

1. 客户端ssh配置

  1. 首先看服务器(虚拟机)是否开启ssh服务,是否已经进行简单配置

    ssh -V   //查看是否开启了ssh服务,若没有,安装好再说;
    ssh localhost;   //初始化ssh服务,这时候就可以看到ssh相关文件在   /.ssh  目录之下了
    
    然后查看一下/.ssh ,看看里面有哪些文件,理论上应该有 authorized_keys等文件
    
  2. 在windows下,桌面打开git bash,执行命令

    ssh-keygen -t rsa -b 4096
    

    连敲三次回车(不需要那些不必要的设置),然后就可以看到在如下文件夹中有密钥id_isa和公钥id_rsa.pub这两个文件。

    image-20201014101205147

  3. 将公钥id_rsa.pub通过xftp发到服务器(虚拟机)上面,我这里是放在 ./ssh 目录下

    image-20201014102054927

  4. 将公钥文件写到authorized_keys中,方便以后直接连接,不需要频繁输入密码了。用命令:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    

    到这一步,二者已经完成了公钥私钥的配对设置,以后就不需要频繁输入密码了。

2. 配置vscode

  1. 下载插件remote-ssh,然后点击如下配置文件

    image-20201014104132819

    点开之后,写下如下配置语句,host和hostname都填IP地址,保存退出即可。

    image-20201014104237053

  2. 配置完之后,每次打开VScode都不需要重复输入密码了,效果如下图。

    image-20201014103839802

3. ssh免密登录原理

  1. ​ ssh(Secure Shell),通过加密算法将需要传输的数据进行处理后,通过TCP传输,在两端之间通过密文交互达到安全目的,所以其本质是数据加密。目前ssh有两个版本,ssh1使用非对称加密算法(RSA),使用循环冗余校验(CRC)来保证传输数据的完整。SSH2则使用了新的对称加密算法和使用散列值(HMAC)算法替代CRC,保证数据传输完成。

  2. ssh认证方式

    1. 账号密码登录,常用简单;
    2. 公钥验证授权登录,较复杂,但是方便后续操作。
  3. 免密本质:如果把输入密码比作拿钥匙开门,那么免密登录就相当于刷脸或者刷指纹登录。而刷脸操作是在此之前已经在开门认证的可信任数据库中记录下来,在录下来之后才可以体会到不需要用钥匙的快感了。所以,免密登录的前提就是远端的服务器能够认识你的机器,而你的机器“刷脸”进门就需要把它的脸(公钥)放到远端的服务器的可信列表中。

  4. 实现过程:

    1. 生成自己机器的公钥 ——> 将自己的公钥放到远程机器下。

    2. 生成公私钥,是一对。

      ssh-keygen -t rsa -C "your_email@gmail.com"
      
    3. 将本地自己的公钥上传到远程服务器的用户信任列表中

      ssh-copy-id -i ~/.ssh/id_rsa.pub  user@192.168.137.101
      
    4. 查看远程服务器可信任列表,是否有本地自己的机器名。

      cat ~/.ssh/authorized_keys
      
    5. 免密登录 ssh user@192.168.137.101

    6. 别名设置,在vscode中的ssh配置文件中找到Host,填写一个容易记住的名字即可。注意,如果在都配置好之后还想不要轻易修改Host名字,不然直接连接不上,整个需要重新配置。如果不小心改动了配置,再将Host改成之前的就行了,所有操作就会像之前的一样了。所以,要是想修改自己的Host,就需要在第一次修改时候改变。🙂

  5. 认证原理

    1. 密码(口令)认证

    2. 免密登录(密钥)认证

    3. 两种方式比较:

      第一种方式更简单,更快,但是不安全。因为不能完全保证所连接的机器就是你想要连接的机器,存在 “ 中间人攻击 ”的风险。

      第二种方式更安全。

    后记:VSCode真香😏

快,但是不安全。因为不能完全保证所连接的机器就是你想要连接的机器,存在 “ 中间人攻击 ”的风险。

  第二种方式更安全。

后记:VSCode真香😏

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值