有人吐槽,vim,nano等用的不习惯,其实可以不用的。
如果用vscode打开服务器文件,是不是就很方便了。
乌班图 pve 举例
apt update
apt install qemu-guest-agent
sudo apt install openssh-server
sudo systemctl enable ssh
echo $SHELL
apt-get install bash-completion
source /etc/bash_completion
编辑/etc/bash.bashrc,在最后加入如下代码?不急着加也行的·
if [ -f /etc/bash_completion ]; then
/etc/bash_completion
fi
vscode安装好 插件安装好
Remote Development
点击添加即可。
ssh -p port_number username@server_ip
输入上面命令,具体内容依据你自己的情况调整。
点击这文件夹一样的小图标。
输入密码即可
以及在远程计算机上面了。
可以直接编辑文件很方便。
Mac 本地用 VSCODE 远程 SSH 连接虚拟机/服务器开发指南
一、Mac 与 VSCODE 的奇妙融合
Mac 操作系统以其简洁高效和良好的用户体验,在开发者群体中广受欢迎。而在远程开发领域,VSCODE 与 Mac 的结合更是带来了诸多优势。
(一)VSCODE 的强大功能
VSCODE 作为一款功能强大的代码编辑器,拥有丰富的插件生态系统。在远程开发中,它可以轻松连接到虚拟机或服务器,提供智能代码补全、语法高亮、代码片段等功能,大大提高了开发效率。同时,VSCODE 的终端控制台就在下方,方便进行终端操作,并且左边为全部的文件,便于查找。此外,它还支持多种编程语言,无论是前端开发的 JavaScript、HTML、CSS,还是后端开发的 Python、Java、C++ 等,都能提供良好的开发体验。
(二)Mac 环境的适配性
Mac 系统与 VSCODE 有着良好的适配性。Mac 的简洁设计和高效性能为远程开发提供了稳定的基础。VSCODE 在 Mac 上运行流畅,其界面风格与 Mac 的设计语言相契合,给用户带来一致的视觉体验。同时,Mac 系统的安全性和稳定性也为远程开发提供了保障,确保开发过程中不会因为系统问题而中断。例如,原生支持苹果 M1 Mac 的 VS Code 稳定版,运行速度提升,开启速度提升了数倍。这使得 Mac 用户在进行远程开发时,能够更加高效地完成工作。此外,VSCODE 适用于多种操作系统,包括 MacOS,这也为跨平台开发提供了便利。无论是在 Mac 上开发,还是连接到其他操作系统的服务器进行开发,VSCODE 都能提供一致的功能和用户体验。
二、远程 SSH 连接的准备工作
(一)安装必要插件
在 Mac 上的 VSCODE 中安装插件可以极大地提升开发效率。首先安装 Remote Development 或者 Remote - SSH 插件。具体步骤如下:点击 VSCODE 左边最后一个图标,在搜索栏中输入 “Remote Development” 或 “Remote - SSH”,然后点击安装按钮。安装完成后,该插件将为远程开发提供强大的支持。
此外,还可以根据需要安装其他相关插件。例如,安装 GitLens 插件可以更好地管理代码版本;安装 Bracket Pair Colorizer 插件可以为代码中的括号添加不同的颜色,提高代码的可读性;安装 Code Spell Checker 插件可以检查代码中的拼写错误等。
(二)配置虚拟机 / 服务器
1.对于虚拟机,以常见的 Parallels Desktop 虚拟机软件为例,配置网络使其与主机连通。首先,在虚拟机中安装好操作系统后,需要设置网络连接方式。如果公司上网需要特殊软件且不能在 Mac 平台上工作,可以按照以下步骤操作。在虚拟机中安装好 Windows 操作系统后,连接内网,安装相关特殊软件,并将虚拟机中的网卡地址改为公司电脑的网卡。具体操作是在控制面板中找到网络和共享中心,点击查看网络的状态和任务,再选择更改适配器设置,找到本地连接,点击属性,选择配置,按照相应步骤修改网卡地址。然后,在 Mac 上的 Parallels Desktop 偏好设置中,选择启用 ipv4 DHCP,输入起始地址、结束地址和子网掩码,并勾选在系统偏好设置中显示。接着在 Mac 的系统偏好设置中的网络中选择 Parallels Host-only 配置相关信息,填写 ip 地址和路由器地址,配置 ipv4 设置为手动,点击高级选择 DNS,新建新的 DNS,填写 DNS 地址。同时将外接网卡设置为关闭,调整网络服务顺序,将 wifi 调到最顶端,将 usb 网卡和 Parallels Host-only 调到最后。最后,在虚拟机配置中新建添加一个网络链接,网络链接 1 中选择 usb 网卡,网络链接 2 源中选择 Host-Only 网络(此项操作需要在虚拟机关机之后才能操作)。在控制面板中找到网络和共享中心,找到可以连接外网的网卡,右键点击选择属性选择共享,勾选相应的选项即可。另外一个本地连接,点击右键属性,选择 Internet inp4,选择使用下列 ip 地址,填入相关的地址。完成之后,重启虚拟机即可。
2.在虚拟机和服务器上安装并配置 openssh - server。以 Ubuntu 为例,在 “终端窗口” 输入 “sudo apt-get update”,回车后输入当前登录用户的管理员密码,接着输入 “sudo apt-get install openssh-server”,回车后输入 “y” 进行安装。安装完成后,输入 “service ssh status” 观察 ssh 是否启动,若没有启动,输入 “sudo service ssh start” 启动 ssh 服务。还可以编辑配置文件,输入 “sudo gedit /etc/ssh/sshd_config”,把配置文件中的找到 “#PasswordAuthentication no” 的注释去掉,并且将 “NO” 修改为 “YES”,找到 “#PermitRootLogin prohibit-password” 修改为 “PermitRootLogin yes”,保存后重启 ssh 服务,输入 “service ssh restart”。对于 Windows 系统,以 Windows Server 2016 为例,下载 OpenSSH 安装包,传至服务器或者本机并解压至 C:/Program Files / 目录下。然后打开 PowerShell 终端进入到包含 ssh 可执行 exe 文件的文件夹下执行安装指令:“powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1”。接着在防火墙开启 22 端口号:“netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22”。最后启动指令:“net start sshd”,也可以设置开机自启(可不设置)。
三、建立 SSH 连接
(一)生成 SSH 密钥并授权
在 Mac 上生成 SSH 密钥是建立安全连接的重要步骤。首先,打开终端应用程序。在终端中,输入以下命令并按 Enter 键:ssh-keygen -t rsa。这个命令告诉系统我们要生成一个 RSA 类型的 SSH 密钥对。系统会提示您输入文件名和存储位置,默认情况下,公钥和私钥文件将保存在用户主目录下的.ssh/文件夹中,并且文件名分别为id_rsa(私钥)和id_rsa.pub(公钥)。如果您不需要更改默认设置,可以直接按 Enter 键接受。
接下来,系统会询问您是否要为私钥设置一个密码。这是一个可选步骤,但出于安全考虑,建议设置一个密码。如果设置了密码,每次使用私钥进行身份验证时,都需要输入这个密码。这样可以增加私钥的安全性,防止未经授权的人员使用。如果您选择设置密码,请按照提示输入并确认密码。如果您选择跳过此步骤,直接按 Enter 键即可。
完成上述步骤后,SSH 密钥对就已经生成并保存在了指定位置。您可以使用以下命令查看公钥的内容:cat ~/.ssh/id_rsa.pub。执行该命令后,终端将显示公钥的内容。
然后,将公钥上传到虚拟机 / 服务器进行授权。以 Ubuntu 虚拟机为例,登录到虚拟机后,在终端中创建.ssh目录(如果不存在的话):mkdir ~/.ssh。接着,将公钥内容复制到虚拟机的authorized_keys文件中,可以使用以下命令:echo "公钥内容" >> ~/.ssh/authorized_keys。确保文件权限正确,可使用chmod 700 ~/.ssh和chmod 600 ~/.ssh/authorized_keys命令。
(二)在 VSCODE 中配置连接
3.打开 SSH 配置文件,填写连接信息。
在 VSCODE 中,按下快捷键Shift + Ctrl + P,输入 “Remote-SSH: Open Configuration File”,选择配置文件路径(通常为~/.ssh/config)。在配置文件中,按照以下格式填写连接信息:
Host 自定义连接名称 HostName 虚拟机/服务器 IP 地址 User 用户名 |
例如:
Host myServer HostName 192.168.1.100 User ubuntu |
4.尝试连接虚拟机 / 服务器,选择操作系统类型。
再次按下快捷键Shift + Ctrl + P,输入 “Remote-SSH: Connect to Host”,选择刚刚配置的连接名称。此时,VSCODE 会尝试连接虚拟机 / 服务器,并提示选择操作系统类型。根据实际情况选择相应的操作系统,如 Ubuntu、CentOS 等。连接成功后,就可以在 VSCODE 中进行远程开发了。
(三)常见问题及解决方法
5.插件问题:如果在安装插件过程中出现问题,可以尝试重新安装插件或者更新 VSCODE 版本。确保插件与当前的 VSCODE 版本兼容。
6.虚拟机重启后连接失败:如果虚拟机重启后连接失败,可能是虚拟机的网络配置发生了变化。检查虚拟机的网络设置,确保与主机能够正常通信。同时,检查 SSH 服务是否正常启动,可以在虚拟机中输入 “service ssh status” 查看,如果没有启动,输入 “sudo service ssh start” 启动 SSH 服务。
7.连接超时:如果连接超时,可能是网络问题或者防火墙阻止了连接。检查网络连接是否正常,确保主机能够访问虚拟机 / 服务器。如果是防火墙问题,可以检查防火墙设置,开放相应的端口(通常是 22 端口)。例如,在 Ubuntu 中,可以使用 “sudo ufw allow 22” 命令开放 22 端口。在 Windows 服务器中,可以在防火墙中添加规则允许 SSH 连接。
四、远程开发体验
(一)插件安装
连接成功后,我们可以根据实际需求在远程环境中安装插件,以提升开发效率。例如,对于前端开发,可以安装 HTML CSS Support、JavaScript (ES6) code snippets 等插件,提供代码提示和自动补全功能。对于后端开发,根据不同的编程语言安装相应的插件,如 Python 开发可以安装 Python、Pylance 等插件,Java 开发可以安装 Java Extension Pack 等插件。
安装插件的方法与在本地安装类似,在 VSCODE 的扩展商店中搜索所需插件,然后点击安装。需要注意的是,插件会安装在远程虚拟机 / 服务器上,而不是本地的 VSCODE 中。安装完成后,这些插件将为远程开发提供强大的支持,使开发过程更加顺畅。
(二)代码编辑
在 VSCODE 中进行远程开发时,代码编辑体验与在本地几乎没有区别。我们可以使用 VSCODE 强大的代码编辑功能,如智能代码补全、语法高亮、代码片段等。同时,还可以利用 VSCODE 的多光标编辑、快速跳转等功能,提高代码编写效率。
例如,当我们在编写 Python 代码时,VSCODE 会自动识别代码中的函数、变量等元素,并提供相应的代码提示。我们可以通过按下快捷键 “Ctrl + Space” 来触发代码提示,快速选择需要的代码片段。此外,VSCODE 还支持代码格式化功能,我们可以通过按下快捷键 “Shift + Alt + F” 来格式化代码,使代码更加规范、易读。
(三)调试
调试是开发过程中非常重要的环节。在 VSCODE 中进行远程开发时,我们也可以进行调试。对于不同的编程语言,VSCODE 提供了相应的调试工具。
以 Python 为例,我们可以在代码中设置断点,然后按下快捷键 “F5” 启动调试。VSCODE 会自动连接到远程虚拟机 / 服务器,并在断点处暂停执行。我们可以通过调试工具栏查看变量的值、单步执行代码等。同时,VSCODE 还支持远程调试的配置文件,我们可以根据实际情况进行配置,以满足不同的调试需求。
例如,我们可以在调试配置文件中设置远程调试的端口号、启动命令等。这样,我们就可以在本地的 VSCODE 中进行远程调试,而不需要在远程虚拟机 / 服务器上进行操作,大大提高了调试的效率。