作为一名开发者,我最近从游戏本换到了轻薄本,虽然设备轻便了许多,但在迁移开发环境时遇到了不少挑战。特别是如何在轻薄本上使用原有的SSH密钥连接服务器,之前操作ssh的细节也都忘记了,并且不想更换账户。在这篇博客中,我将详细记录我的迁移过程,以及我在其中遇到的常见问题和解决方法,希望能帮助到同样有类似需求的朋友。
📦 步骤一:迁移SSH密钥
1. 从游戏本复制SSH密钥
-
找到SSH密钥 :在游戏本上,SSH密钥通常位于
~/.ssh/
目录下,主要包括:id_rsa
(私钥)id_rsa.pub
(公钥)
-
复制密钥 :通过安全的方式(如U盘、网络共享等)将这两个文件复制到轻薄本的相同位置(
~/.ssh/
)。
2. 在轻薄本上创建.ssh
目录
-
如果轻薄本上还没有
.ssh
目录,可以手动创建:bashmkdir ~/.ssh
-
设置正确的权限:
bashchmod 700 ~/.ssh
-
将复制过来的
id_rsa
和id_rsa.pub
文件放入.ssh
目录中,并设置私钥权限:bashchmod 600 ~/.ssh/id_rsa
⚠️ 常见问题:权限设置错误
在Windows环境下,很多用户会直接使用CMD或PowerShell运行chmod
命令,但这些命令并不支持chmod
。正确的做法是使用Git Bash,因为它支持Linux风格的命令行操作。
如果你使用的是Windows系统,强烈建议你使用Git Bash来设置.ssh
目录和文件的权限。
🛠️ 步骤二:配置VSCode远程连接
1. 安装Remote - SSH插件
- 在VSCode中搜索"Remote - SSH"并安装该插件。
2. 配置SSH连接信息
- 按下
F1
键,输入"Remote-SSH: Add New SSH Host..."并选择它。 - 输入你的SSH连接字符串,例如
ssh your_username@your_server_ip
。 - 选择默认的
~/.ssh/config
作为配置文件。
3. 连接到服务器
- 在VSCode底部状态栏左侧,点击绿色的"><"图标,选择你想连接的服务器。
- 第一次连接时,可能需要确认服务器的指纹。
📌 常见问题:SSH配置文件格式错误
在配置.ssh/config
文件时,格式非常重要。以下是一些需要注意的地方:
- 不要使用缩进 :每个
Host
块中的配置项(如HostName
,User
,Port
)应与Host
行对齐。 - 避免非法字符:不要从网页或文档中直接复制配置内容,可能会引入不可见的特殊字符(如非断空格)。
一个正确的.ssh/config
文件示例如下:
bash
Host 192.102.11.22
HostName 192.102.11.22
User XXXXXXXXX
🧪 测试连接
在Git Bash中运行以下命令测试是否能成功连接到服务器:
bash
ssh your_username@your_server_ip
如果一切配置正确,你应该能够顺利登录而不需要重新输入密码(前提是你的公钥已经添加到了服务器的~/.ssh/authorized_keys
文件中)。
✅ 总结
通过这次迁移经历,我深刻认识到SSH密钥管理和配置文件格式的重要性。以下是我在迁移过程中总结的几个关键点:
- 使用Git Bash:在Windows环境下,使用Git Bash可以更好地支持Linux风格的命令操作。
- 正确设置权限 :确保
.ssh
目录和私钥文件的权限正确,避免因权限问题导致连接失败。 - 注意配置文件格式 :
.ssh/config
文件的格式非常敏感,任何多余的缩进或非法字符都可能导致解析错误。
希望这篇博客能帮助你在迁移开发环境时少走弯路,顺利连接到服务器。如果你有任何疑问或遇到问题,欢迎随时留言交流!