vscode 通过 WIN10 ubuntu子系统(Bash On Windows)管理远程主机
2017-05-26 16:30
489 查看
1、启用子系统功能
打开控制面板—选择程序,按下图操作2、启用安装bash
按win键,输入cmd,然后打开cmd后,输入bash 可见下图。一般会出现无法从windows应用商店进行下载。提示。
3、劫持bash安装源(步骤2正常下载,则本步骤可以忽略)
由于无法安装,我们需要劫持windows下载源,利用Fiddler4。大家需要两样东西:
1、Fiddler4
2、14.04.5.2-server-cloudimg-amd64-root.tar.gz
14.04.5.2-server-cloudimg-amd64-root.tar.gz
的
下载地址:https://wsldownload.azureedge.net/14.04.5.2-server-cloudimg-amd64-root.tar.gz
劫持下载源步骤
打开fiddler
将下面的勾打上,我们将可以劫持https。由于fiddler劫持 https 的证书,所以https协议的控制器也可以归我们所有了,由此可见,如果链路上出现了中间人,https也不一定安全。
替换的文件需要事先下载好到本地。
劫持的地址为:
EXACT:https://wsldownload.azureedge.net/14.04.5.3-server-cloudimg-amd64-root.tar.gz
到此,windows下载源劫持就完成了。
接下来
按win键,输入cmd,然后打开cmd后,输入bash 后,再输入y即可完成安装。
4、更换vscode的默认终端
打开 vscode 进行选择,文件—-首选项—-设置 , 将出现一下界面修改红框中的字符串为:
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"
此时在vscode上,按ctrl+`(键盘左上角,esc键下面的按钮) 将会出现终端界面。
此时我们可以打开windows上面的 子系统shell。
5、使用vscode替换好的bash终端,连接远程终端。
ctrl+`运行终端后,在 /home/xxxxx/ 建立一个文件run.sh,内容如下#!/usr/bin/expect set timeout 3 spawn ssh root@xxx.xxx.xxx.xxx expect "*password*" send "password\r" send "sudo -s\r" send "cd /home\r" interact
加运行权限:
chmod +x /home/xxxxx/run.sh
在子系统中的ubuntu上面需要安装expect:
apt-get install expect
编辑 /home/xxxxx/.baserc, 在末尾加入登录执行命令:
expect /home/xxxxx/run.sh
一切就绪后,在vscode上面按ctrl+d,退出终端。
重新按ctrl+`进入终端即可登录远程shell。
结果如下:
6、更好的建议与问题
我们此处的第五步其实是懒人做法。我们可以利用配置ssh密钥,进行无密码登录。
为什么windows上面有shell还需要连接远程shell?
因为我的习惯一直都在windows上面安装一个虚拟机,然后再在windows进行管理,但由于vscode无法直接调用我虚拟机中的shell,所以只能借助windows上面的shell进行连接。
大家也可以直接利用windows上面的shell进行开发。
参考文章:
http://www.cnblogs.com/VAllen/archive/2017/04/03/BashOnWindowsDownloadAndInstallError.html
http://www.cnblogs.com/zhenbianshu/p/5867440.html
感谢参考文章作者的奉献!!
相关文章推荐
- Ubuntu通过vnc连接Windows主机的问题解决
- Windows下通过SSH Client实现远程登录和操作Ubuntu
- windows 通过vnc远程连接Ubuntu
- Windows通过SecureCRT远程登录Linux主机
- Windows下通过SSH使用SharpSSH远程登录主机执行命令传输文件
- Windows通过SecureCRT远程登录Linux主机【zz】
- Splunk _通过WMI远程收集Windows主机日志
- Ubuntu 11.10 通过配置vnc使windows可以远程桌面,自动启动
- 关于Windows通过远程桌面访问Ubuntu
- Ubuntu 11.10 通过配置vnc使windows可以远程桌面,自动启动
- windows下通过vnc远程访问ubuntu
- Ubuntu 11.10 通过配置vnc使windows可以远程桌面,自动启动【转】
- X11VNC:让Windows可以远程管理Ubuntu桌面
- Ubuntu 远程登录管理 Windows
- Ubuntu 安装Postgres数据库,Windows 安装PgAdmin进行远程管理,Django远程连接 手记
- ubuntu下openssl客户端通过代理服务器访问远程主机
- ubuntu 10.04下搭建rsyslog Server管理存储远程主机日志
- Ubuntu 11.10 通过配置vnc使windows可以远程桌面,自动启动
- ubuntu rdesktop远程连接windows主机