15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > Windows主机用SSH连接Linux虚拟机进行开发

Windows主机用SSH连接Linux虚拟机进行开发

时间:2023-06-26 13:15:02 | 来源:网站运营

时间:2023-06-26 13:15:02 来源:网站运营

Windows主机用SSH连接Linux虚拟机进行开发:

1-SSH(安全外壳协议)

WHY?

大家在用Linux虚拟机的时候都会遇到一个问题,就是在Linux图形界面上使用Vscode,即使分配了很多的内存也会非常卡顿,导致开发体验极其不丝滑。

笔者在尝试连接的时候遇到很多卡顿,这里写一个记录分享。

SSH

SSH 为Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、DigitalUNIX、Irix,以及其他平台,都可运行SSH。

统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"[1]。




2-Visual Studio Code -SSH

Visual Studio Code Remote - SSH扩展允许您在任何远程计算机、虚拟机或具有正在运行的 SSH 服务器的容器上打开远程文件夹,并充分利用 VS Code 的功能集。一旦连接到服务器,您就可以与远程文件系统上任何位置的文件和文件夹进行交互。

由于扩展直接在远程机器上运行命令和其他扩展,因此无需在本地机器上放置源代码即可获得这些好处。

这让 VS Code 可以提供本地质量的开发体验——包括完整的 IntelliSense(完成)、代码导航和调试——无论您的代码托管在哪里




3-开始连接

本地:还必须安装 受支持的OpenSSH 兼容 SSH 客户端。

远程 SSH 主机:一个正在运行的SSH 服务器:

其他glibc基于 x86_64、ARMv7l (AArch32) 和 ARMv8l (AArch64) 的 Linux 发行版如果具有所需的先决条件,它们应该可以工作。有关启动和运行社区支持的发行版的信息先决条件和提示,请参阅使用 Linux 进行远程开发一文。

虽然 ARMv7l (AArch32) 和 ARMv8l (AArch64) 支持可用,但由于在扩展中使用 x86 本机代码,安装在这些设备上的某些扩展可能无法正常工作。

安装

要开始,您需要:

  1. 如果尚未安装OpenSSH 兼容的 SSH 客户端,请安装该客户端。
  2. 安装Visual Studio Code或Visual Studio Code Insiders。
  3. 安装远程开发扩展包。

SSH主机设置

  1. 如果您没有设置 SSH 主机,请按照Linux、Windows 10 / Server (1803+)或macOS SSH 主机的说明进行操作,或者在 Azure 上创建一个VM。
  2. 可选:如果您的 Linux 或 macOS SSH 主机将被多个用户同时访问,请考虑在 VS Code用户设置中启用Remote.SSH: Remote Server Listen On Socket以提高安全性。
    在设置编辑器中:

有关详细信息,请参阅提示和技巧文章。

  1. 可选:虽然支持基于密码的身份验证,但我们建议为您的主机设置基于密钥的身份验证。有关详细信息,请参阅提示和技巧文章。

连接到远程主机

要首次连接到远程主机,请执行以下步骤:

  1. 通过从终端/PowerShell 窗口中运行以下命令来验证您是否可以连接到 SSH 主机,并根据需要进行替换user@hostname
    ssh user@hostname # Or for Windows when using a domain / AAD account ssh user@domain@hostname
这里我的Ubuntu虚拟机是是 cs18@10.0.2.15 这个网段和主机的 ip http://192.168.XXX.XXX 不是一个网段,故在这一步就已经失败了。

修改的方法是,在virtualBox里把网络连接方法从 网络地址转换(NAT)修改为桥接网卡,然后再重启,就会发现虚拟机的ip地址也变成了http://192.162.XXX.XXX

  1. 在 VS Code 中,从命令面板(F1、Ctrl+Shift+P )中选择Remote-SSH: Connect to Host...并使用与步骤 1 相同的方法。user@hostname



  1. 如果 VS Code 无法自动检测到您正在连接的服务器类型,则会要求您手动选择类型。

选择平台后,它将存储在属性下的VS Code 设置remote.SSH.remotePlatform中,因此您可以随时更改它。

  1. 片刻之后,VS Code 将连接到 SSH 服务器并自行设置。VS Code 将使用进度通知让您保持最新状态,您可以在Remote - SSH输出通道中看到详细的日志。
    提示:连接挂起或失败?有关解决常见问题的信息,请参阅故障排除提示。
    如果您看到有关 SSH 文件权限的错误,请参阅修复 SSH 文件权限错误部分。
  2. 连接后,您将处于一个空窗口中。您始终可以参考状态栏来查看您连接到的主机。

单击状态栏项目将在您连接时提供远程命令列表。

  1. 然后,您可以像在本地一样使用File > Open...File > Open Workspace...打开远程计算机上的任何文件夹或工作区!
丝滑!



关键词:虚拟,主机,连接

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭