文章目录
前言
在现代软件开发中,远程连接
和版本控制
是两个重要的环节。本文将介绍如何在 Daoyou Cloud 平台上注册账号、生成 SSH 密钥、配置 VS Code 远程连接,并通过 SSH 拉取 Git 仓库代码。
一、SSH 是什么?
SSH,全称 Secure Shell
,是一种用于安全远程登录和其他网络服务的协议。SSH 通过加密技术确保数据在传输过程中不会被窃听、篡改或伪造。
1.1 SSH 的主要特性和用途
- 安全通信:通过加密技术保护数据传输的安全性,防止数据在传输过程中被窃听或篡改。
- 身份验证:使用公钥加密进行身份验证,确保只有经过授权的用户才能访问系统。
- 远程登录:允许用户通过网络远程登录到另一台计算机,就像本地登录一样。
- 数据传输:SSH 可以安全地传输文件和数据。常用的文件传输工具如 SCP(Secure Copy)和 SFTP(SSH File Transfer Protocol)都是基于 SSH 的。
- 端口转发:支持端口转发,通过 SSH 隧道将本地端口的数据转发到远程服务器上,从而访问一些受限制的服务或提高安全性。
- 加密隧道:可以创建加密隧道,用于保护任意的网络服务。
1.2 SSH 的工作原理
SSH 的工作原理主要包括以下几个步骤:
- 建立连接:客户端向服务器发起连接请求,双方协商使用的加密算法和密钥。
- 身份验证:服务器向客户端发送一段随机数据,客户端使用自己的私钥加密后返回给服务器。服务器使用预先存储的客户端公钥进行解密,如果解密成功,则验证通过。
- 数据加密:客户端和服务器使用协商好的对称加密算法和密钥对后续的数据进行加密传输。
二、 为什么使用 SSH 而不是 HTTPS
在连接 Git 仓库时,SSH 通常优于 HTTPS,主要原因如下:
安全性:SSH 使用公钥加密来验证身份,确保只有授权的用户可以访问仓库。HTTPS
依赖于用户名和密码,安全性较低,尤其是在密码管理不当的情况下。无密码认证:使用 SSH 时,用户可以通过 SSH 密钥进行身份验证,而不需要每次都输入用户名和密码。这不仅提高了安全性,也简化了操作。
防止钓鱼攻击:通过 SSH 连接时,使用的是公钥认证机制,可以有效防止钓鱼攻击。
访问控制:SSH 提供了更加细粒度的访问控制。管理员可以根据用户的公钥进行权限管理,控制谁能访问什么内容。
性能:SSH 在某些网络环境中可能表现得更好,因为它是一个持续的会话,而 HTTPS 每次操作都需要重新建立连接。
防火墙和代理支持:在某些企业网络环境中,HTTPS 可能会受到防火墙和代理服务器的限制,而 SSH 通常不会受到这些限制。
三、使用步骤
3.1 生成 SSH 密钥
在本地机器上生成 SSH 密钥对,以便与 Git 仓库进行安全连接。
- 打开命令行(CMD)输入以下命令,里面替换为你自己的个人邮箱,按提示完成密钥对生成过程:
ssh-keygen -t ed25519 -C "your_email@example.com"
- 找到生成的公钥pub文件(通常在
C:\Users\YourUsername\.ssh\id_ed25519.pub
),打开并复制其中的内容。 - 前往右上角的设置 -> SSH/GPG 密钥 -> 增加密钥,粘贴复制的公钥内容(其它git仓库添加ssh密钥的操作都是类似的)
3.2 配置 VS Code 远程连接
- 下载 Remote-SSH 插件:打开 VS Code,进入扩展市场,搜索
Remote - SSH
插件并安装。 - 连接到远程服务器:安装插件后,VS Code 左侧边栏会多出一个“远程资源管理器”图标。点击 SSH 部分的加号,输入服务器地址(例如:
192.168.0.9
可以选择自己企业内部服务器的地址),并点击连接
在远程终端中,再重复上面生成 SSH 密钥的操作,在git里面再添加一个开发服务器的ssh密钥,并将公钥添加到 Git 仓库托管平台的设置中。
3.3 通过 SSH 克隆 Git 仓库
打开 VS Code 远程连接后的终端,输入以下命令克隆 Git 仓库拉取代码:
git clone git@git.daoyoucloud.com:daoyoucloud/tachybase.git
3.4 安装必要的组件
在拉取代码并进行开发时,可能需要安装一些依赖组件npm i
,在添加组件时可能会出现canvas
无法下载的情况,到 canvas官网🚪 查看对应ubuntu系统的下载命令,可以使用以下命令:
apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
总结
通过上述步骤,你已经成功配置了 SSH 密钥、连接了远程服务器,并通过 SSH 拉取了 Git 仓库代码。在 VS Code 中进行远程开发,不仅提高了开发效率,还确保了安全性和环境的一致性。SSH 相较于 HTTPS 更安全、更便捷,且适用于复杂的企业网络环境。在实际应用中,掌握 SSH 的使用技巧,不仅能提升开发体验,还能保障项目的安全性。如果有任何疑问,欢迎留言讨论🌹。