前言
在腾讯云上创建服务器时,如果选择了「密钥对」的登录方式,就会得到一个 .pem 文件作为私钥。很多小伙伴在使用 macOS 系统时,可能不清楚如何使用这个私钥文件来 SSH 免密登录远程服务器。本文将详细介绍如何在本地配置 .pem 私钥文件并成功登录腾讯云服务器。
1. 在腾讯云上创建密钥对
1. 登录 腾讯云控制台,选择「密钥管理」或在创建服务器(CVM)时选择「密钥对」的登录方式。
2. 创建密钥对后,系统会提供一个 .pem 文件供下载。请务必在页面提示下载时立即保存,因为之后将无法再次查看或下载同一份私钥。
下载到本地的 .pem 文件就是你的私钥文件。
注意:如果你已经使用「用户名 + 密码」方式创建了服务器,那么需要手动在服务器控制台添加公钥文件或重新创建实例,才可以使用私钥登录。
2. 放置并保护私钥文件
将下载好的 .pem 文件放在本地安全的地方,并确保它的权限设置正确。
1. 移动到 ~/.ssh/ 目录(如果没有该目录可以自行创建):
# 假设你的私钥名叫 tencentcloud_key.pem
mv ~/Downloads/tencentcloud_key.pem ~/.ssh/tencentcloud_key.pem
2. 修改文件权限,防止被其他用户读取:
chmod 400 ~/.ssh/tencentcloud_key.pem
这样做可以确保 SSH 不会因安全隐患拒绝使用该私钥。400 表示「只读且仅限文件拥有者访问」。
3. 使用私钥 SSH 登录远程服务器
1. 基本命令格式:
ssh -i ~/.ssh/tencentcloud_key.pem <用户名>@<服务器IP或域名>
• -i 参数指定私钥文件路径。
• <用户名> 通常是 root(如果使用了 CentOS/Ubuntu 等默认 root 账户),也可能是其他用户名,需查看创建实例时的系统说明。
• <服务器IP或域名> 是腾讯云分配给你的公网 IP 或绑定的域名。
2. 示例:
ssh -i ~/.ssh/tencentcloud_key.pem root@123.45.67.89
回车后,如果权限设置正确且私钥对应无误,就能顺利登录服务器。
4. 配置 SSH config(可选)
如果你经常需要登录同一台或多台服务器,可以通过配置 ~/.ssh/config 文件来简化命令。
1. 编辑/新建 ~/.ssh/config:
vim ~/.ssh/config
2. 写入以下内容(示例):
Host my-tencent-serverHostName 123.45.67.89User rootIdentityFile ~/.ssh/tencentcloud_key.pem
3. 保存退出后,你就可以用以下命令直接登录:
ssh my-tencent-server
这样就不需要每次都输入 -i ~/.ssh/tencentcloud_key.pem 和 IP 地址。
5. 常见问题答疑
1. 为什么要 chmod 400?
SSH 客户端出于安全考虑,要求私钥文件只能由拥有者可读,否则会拒绝使用该文件。400 即「只读且仅限文件拥有者访问」。
2. 我双击 .pem 文件后,macOS 打开了文本编辑器,里面是一段 -----BEGIN RSA PRIVATE KEY----- 的文本,这正常吗?
是正常的。私钥本质上就是一段加密文本文件,无需在本地编辑它,直接用 SSH 指定它来登录即可。
3. 如果要在其他客户端(如 Windows PuTTY)上使用,需要转换吗?
Windows 下的 PuTTY 工具通常使用 .ppk 格式,你需要用 PuTTYgen 工具把 .pem 转换为 .ppk。在 macOS 的 SSH 环境下无需转换,直接使用 .pem 即可。
4. 私钥丢失或泄露怎么办?
一旦私钥泄露,意味着任何拿到私钥的人都可以登录你的服务器。若不慎泄露,请尽快在腾讯云控制台删除或重新创建密钥对,并在服务器上移除旧的公钥。
6. 结语
通过上述简单的步骤,就能在 macOS 上使用 .pem 私钥来免密登录腾讯云服务器。相较于用户名密码方式,密钥登录更安全,也避免了繁琐的密码输入。日常开发中,如果你需要频繁登录服务器,强烈推荐将 IP 与私钥信息写入 ~/.ssh/config,从而实现一键登录。
如果这篇文章对你有所帮助,欢迎点赞、收藏、评论,让更多人看到!也可以在评论区留言你的疑问或补充,共同探讨更优雅的云服务器使用方式。
参考链接
• 腾讯云官方文档:SSH 密钥对登录
• PuTTYgen 工具
如果你觉得本文对你有所帮助,欢迎关注我的 CSDN 账号并留下评论,分享更多云端开发与部署的经验!