配置VS code远程服务器(有跳板机)
1. 开发环境:
我的Window 10办公室电脑要连接Centos根服务器10.19.129.13,以及他的局域网下的子服务器hdp03。
所以
Window 10与跟服务器10.19.129.13在一个局域网下,可以直接连接。
Window 10与子服务器hdp03并不在一个局域网下,不能直接连接,需要先连接10.19.129.13再连接hdp03。这里根服务器10.19.129.13就叫做跳板机。
基于以上环境,就可以开始下面的配置了。(没有跳板机的也可以参考)
2. 安装必备软件
-
VS code: https://code.visualstudio.com/, 官网下载很傻瓜式操作
-
换成中文界面
安装完成后打开软件,按快捷键
Ctrl+Shift+P
, 在弹出的命令框里输入Config Display Language
, 点击zh-cn
(没有的话点击install other language
, 第一个就是安装简体中文)
-
-
SSH-Windows: https://github.com/PowerShell/Win32-OpenSSH/releases
- 下载
OpenSSH-Win60.zip
,解压到某个文件夹,然后把这个文件夹添加到环境变量即可
- 下载
3. 配置远程服务器
- 安装
Remote Development
插件,搜索安装即可
-
选择
SSH Target
, 并打开配置文件 -
在打开的文件里插入配置
Host iData HostName 10.19.129.13 Port 22 User yangzhp Host worker03 HostName hdp03 User yangzhp ProxyCommand ssh -W %h:%p iData
带注释版。。。
Host iData #iData 只是个名字,可以按照自己的喜好随便取 HostName 10.19.129.13 #跳板机的ip地址 Port 22 #ssh的端口,默认就是22 User yangzhp #跳板机系统的登录的用户名 Host worker03 #worker03也只是用户名 HostName hdp03 #子服务器的IP地址,(我们的服务器在跳板机上做了映射hdp03就对应一个IP地址,没做映射的话直接填局域网的IP地址即可) User yangzhp #子服务器系统的登录的用户名 ProxyCommand ssh -W %h:%p iData #代理命令,不需要改,注意这里的iData跟上面的跳板机对应即可
-
然后就可以连接啦,点击连接后输入密码即可
4.设置免密登录
上面的配置好的remote连接每次都要填密码就很烦,所以免密登录就非常有必要了。
-
打开cmd命令行执行
ssh-keygen
, 然后一路Enter
键,不输入任何东西,最后会在C:\Users\your_user_name\.ssh
路径下生成公钥文件id_rsa.pub
-
在命令行用scp把公钥文件上传到跳板机
cd C:\Users\your_user_name\.ssh scp id_rsa.pub yangzhp@10.19.129.14:~/
注意替换
your_user_name
注意路径,我这个是把当前文件夹下的
id_rsa.pub
上传到yangzhp@10.19.129.13
服务器上的~/
用户文件夹下 -
登录到跳板机服务器进行配置
ssh yangzhp@10.19.129.13 cd ~/.ssh cat ~/id_rsa.pub >> authorized_keys
也就是把
id_rsa.pub
windows上ssh的公钥添加到跳板机的ssh的authorized_keys目录里面再修改一下权限
chmod 700 authorized_keys
现在就可以免密远程登录跳板机了
-
配置子服务器hdp03
(1) 在跳板机上执行
ssh-keygen
生成跳板机的公钥,同样是生成到~/.ssh
用户文件夹下(2) 把跳板机的
id_rsa.pub
都用scp上传到子服务器hdp03(3) 分别把公钥文件
id_rsa.pub
添加到hdp03的authorized_keys
文件中(4)把window的
id_rsa.pub
也上传添加到hdp03的authorized_keys
文件中(5) 修改文件权限
按道理这样就可以了,但是我的还是不能免密登录子服务器hdp03
我又尝试了
修改配置文件
sudo vim /etc/ssh/sshd_config 添加两行 PubkeyAuthentication yes PermitEmptyPasswords yes 重启服务 service sshd restart
更改文件夹权限
chmod 700 ~/.ssh chmod 644 ~/.ssh/authorized_keys
还是不行,暂时先放弃吧,这都折腾两个小时了快
对本文有任何问题,请在下面评论: