vscode+remote ssh插件可以实现:本地编写、调试和编译远程服务器上的代码。但是最近用win10的vscode连接服务器,因为公司局域网配置了代理,还挺费劲,借此记录一下
目录
准备工作
本地:win10的id_rsa文件生成
打开PowerShell:ssh localhost(目的在于创建.ssh目录) cd进.ssh文件, 调用ssh-keygen: 生成id_rsa(私钥)id_rsa.pub(公钥)目标服务器
首先要有一台目标服务器,我的是阿里云服务器,自带ssh服务。
检测ssh服务是否启动: ps -axu | grep ssh 如果没有启动, 也可以使用sudo service ssh start 或者/etc/init.d/ssh resart重启 如果没有sshd服务则安装:sudo apt-get install openssh-server将前面windows中创建的id_rsa.pub文件拷贝到linux主机并中设置公钥认证。这一步可选,不做的话每次remote ssh都需要输入密码
创建文件 ~/.ssh/authrized_keys. 将id_rsa.pub内容拷贝进入authrized_keys文件 配置远程Linux主机SSH设置(/etc/ssh/sshd_config): PubkeyAuthentication yes PermitRootLogin yes #允许root认证登录 PasswordAuthentication yes#允许密码认证 RSAAuthentication yes #秘钥认证 PubkeyAuthentication yes#公钥认证 修改权限: chmod 600 authorized_keys chmod 700 ~/.ssh远程连接
安装vscode和remote ssh插件后,配置config文件(c:\Users\user_name\.ssh\config)
正常的远程连接
Host 39.99.155.229 #目标机ip HostName 39.99.155.229 #登入的用户名,可以不是root User root Port 22通过代理远程连接
Host 39.99.155.229 #目标机ip HostName 39.99.155.229 #登入的用户名,可以不是root User root Port 22 #IdentityFile c:\Users\user_name\.ssh\id_rsa #下载ncat并解压(无需安装) ProxyCommand C:\bin\nmap-7.70\ncat.exe --proxy-type http --proxy xx.xx.x.xxx:xxxx %h %p与普通连接不同的是:新增ProxyCommand 命令,其中“xx.xx.x.xxx:xxxx”是代理服务器的ip和端口。win10自带的openssh貌似和ProxyCommand不适配,因此采用ncat。