相信大部分同窗都有使用过 Visual Studio Code
这个编辑器,它提供的 Remote - SSH
扩展容许咱们在任何远程计算机、虚拟机或运行 SSH 服务器的容器上打开远程文件夹,并充分利用 VS Code
的功能集。linux
当咱们链接到服务器时,就能够与远程文件系统中的任何位置的文件和文件夹进行交互,就像在操做本机同样。windows
这很酷,并且颇有用。bash
搭建前的环境。服务器
Windows 10 18362.418
系统的电脑。Ubuntu 18.04 LTS
系统的电脑。固然你均可以在虚拟机上安装它们,若是是学习的话这也是推荐的作法。ssh
在本次搭建过程当中选择了以 Ubuntu
做为服务端。编辑器
使用 PowerShell
安装 OpenSSH
,首先以管理员身份启动 PowerShell
。 若要确保能够安装 OpenSSH
功能,先执行如下操做:学习
# command Get-WindowsCapability -Online | ? Name -like 'OpenSSH*' # This should return the following output: Name : OpenSSH.Client~~~~0.0.1.0 State : NotPresent Name : OpenSSH.Server~~~~0.0.1.0 State : NotPresent
若是显示的是 State
不是 NotPresent
而是 Installed
, 那么表示已经安装了。不然继续,安装客户端功能:网站
# Install the OpenSSH Client Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 # should return the following output: Path : Online : True RestartNeeded : False
可选的更新一下软件列表:加密
$ sudo apt update
安装 SSH server:spa
$ sudo apt install openssh-server
查看是否启动:
$ service ssh status
若是没有启动则手动启动:
$ service ssh start
在 Windows
上生成新的 SSH 密钥:
$ ssh-keygen -t rsa -b 4096
接下来为远程主机设置基于 SSH 密钥的身份验证,须要执行如下命令:
rem 按提示替换 REMOTEHOST 的值,形如:username@IP SET REMOTEHOST=your-user-name-on-host@host-fqdn-or-ip-goes-here scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
若是遇到 The authenticity of host 192.168.xxx.xxx can't be established.
这个错误(一般咱们在为 Github 新添加密钥后,第一次克隆仓库时会遇到类似的提示),你能够根据提示进行确认,就像是这样:
Are you sure you want to continue connecting (yes/no)?yes # 输入 yes 后回车
或者,你也能够选择加上 -o StrictHostKeyChecking=no
参数。也就是说,对应的上面第四行应该改为下面的格式:
scp -o StrictHostKeyChecking=no %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub
前往 Download Visual Studio Code - Mac, Linux, Windows 下载并安装(仅须要在 Wondws 上安装),安装的步骤比较简单,这里就不细说了。
安装完成后在扩展程序中搜索并安装 Remote Development
插件。
插件安装完后左下角会出现一个绿色的图标,点击选择会在命令窗口弹出几个选项,在下拉选项中选择 Remote SSH:Connect to Host
。
而后在新的输入框中输入远程用户和 IP 地址(格式:your-user-name-on-host@host-fqdn-or-ip-goes-here),回车。
顺利的话,那么已经能够开始远程开发工做了。
预祝使用愉快。
轻拍【滑稽】。。。