win10 使用VSCode SSH 远端连接 linux
目录
1. 环境要求
'''
环境要求:
本地:win10系统, vscode >= 1.39, ssh工具(win10自带),
若win7不自带ssh工具怎样?->安装个"git bash"即可
远端:linux系统(64位,只支持64位),
必须确保远端有网,远程设置上网代理(第4节):
https://blog.csdn.net/LEILEI18A/article/details/103967652
确保远端有ssh,ssh -V查看,若无apt-get install openssh-server安装
注意:
vscode ctrl+shift+P 连接Host时 已经默认是ssh执行命令了,因此识别不了ssh -p等操作
对于docker容器远端连接,应该采用 .ssh/config的形式->参考第五章节
'''
2. 远程连接方法
(1)通过账号ip-密码登录连接远端:主要参考(没必要重复造轮子):https://blog.csdn.net/Mculover666/article/details/90439669
(2)通过SSH Key密钥 免密登录:主要参考:https://www.cnblogs.com/moshuying/p/11330536.html
3. 实际测试流程-有效
3.1 通过ip账号密码远程连接
ssh-ip账号形式:[email protected],密码形式:123,既然你懂ssh,那么这里不再说如何创建个人账号啥的,自行百度
【1】本地win10-远端ubuntu16.04+,必须确保远端有网,设置代理可参考这里
【2】下载安装vscode,要求版本1.39+,实际测试版本为1.55,选择User版本
【3】vscode扩展程序搜索安装Remote-SSH, Remote-WSL 2个,或者直接安装"Remote Development"
【4】更改配置文件,ctrl+shift+P,选择Remote-SSH:Settings,勾选 Show Login Terminal
【5】点击右上角”打开设置json“,增加关键字段:"remote.SSH.remotePlatform": {"$远端用户名": "linux",},将你的远端用户名替换,保存;
eg: 远端用户名为 leilei
【6】linux远端查看是否安装ssh,ssh -V查看,若无apt-get install openssh-server安装
【7】尝试远程登录,第一次过程比较慢一些,因为远端要下载插件,这就是为什么要远端有网!
ctrl+shift+P,选择Connext to Host,输入 name@ip 形式,enter连接,若跳出来选则 linux/windows/macos,选择linux即可
【8】结果展示,出现如下图即为成功远程连接,若终端命令行关闭,可用ctrl+"~"键->Esc下面的那个
如若还存在问题,增加如下步骤:依旧在Remote-SSH:Settings下面设置;像win7不自带ssh,那么可以安装"git bash"工具,将其ssh路径写入下面
eg:我的是 “D:\Program_Files\Git\bin\sh.exe”
3.2 通过SSH Key密钥 免密登录
本地ssh生成密钥
远端ssh生成密钥,然后将本地的id_rsa.pub密钥内容复制到远端authorized_keys内,这样就可以免密登录!其它参考其它章节即可
4. 远程连接python虚拟环境
【1】安装中文or恢复英文界面,ctrl+shift+P,安装chinese扩展程序,再输入configure display Language,将“locale”中的内容改为“zh-cn”,重启VSCode即可。
【2】安装python扩展程序,便于识别python编译器,注意:需要先登录远程,且保持远程有网,然后安装扩展程序python。
【3】选择python编译器,ctrl+shift+P,输入python: Select Interpreter,选择适合的点击,然后等到确定后,需要重启vscode,这样就可以在Terminal里面看到如下内容:
eg,我选择的是虚拟环境
【4】自动补全-提示:只需要pylance扩展
【5】当遇到terminal不是当前虚拟环境时,只需要重新选择一下python编译器即可!
5. 远程连接docker容器
【1】首先开启容器,并设置ssh对应端口号,然后修改密码等操作:https://blog.csdn.net/LEILEI18A/article/details/103967652
修改ssh文件:vim /etc/ssh/sshd_config : PermitRootLogin prohibit-passwd 改为 PermitRootLogin yes
重启ssh:/etc/init.d/ssh restart
设置docker密码: 命令行执行 passwd 设置密码
同时需要保证 docker容器内可以上网,那么需要配置代理,同理参考这里
【2】ctrl+shift+P,选择Remote-SSH Connect to Host,选择Configure SSH Hosts,再选择".ssh/config"文件,进行编辑
按照Host-容器名,HostName-ip,Port-端口号,User-用户名 进行编辑,对于非容器可去掉Port端口号
【3】然后 ctrl+shift+P,直接进入Host名称,再输入密码,即可进入docker容器,剩下操作详看第4章节