Mac 本机配置远程服务器的免密 SSH 登录
在本地电脑上针对服务器进行远程登录配置,是非常必要的操作,不仅可以快速登录服务器,而且在使用 Datagrip 连接远程数据库时,也可以通过 SSH 配置文件的方式,快速进行认证并且连接。
id_ed25519 作为 SSH 密钥对是一种更安全且现代的认证方式,相比传统的 RSA 密钥,它在性能和安全性上都更好。
首先,在阿里云控制台上,进入 ECS -> 网络与安全 -> 安全组,确保它允许来自你 IP 地址的 22端口(TCP) 访问。
生成 SSH 密钥对(id_ed25519)
1. 打开终端,输入以下命令生成 SSH 密钥对:
ssh-keygen -t ed25519 -C "[email protected]"
• -t ed25519:指定密钥类型为 ed25519。
• -C "[email protected]":为密钥添加一个注释(通常是你的电子邮件地址,用于标识密钥)。
2. 然后,系统会提示你选择保存密钥的路径(默认是 ~/.ssh/id_ed25519)。你可以按回车键选择默认路径。
Enter file in which to save the key (/Users/yourusername/.ssh/id_ed25519):
3. 设置密钥的 密码(可选),如果你不想设置密码,直接按回车键跳过。
4. 完成后,~/.ssh 目录下会生成两个文件:
• id_ed25519:私钥文件。
• id_ed25519.pub:公钥文件。
将公钥添加到 ECS 实例
1. 登录到阿里云管理控制台,进入 ECS 实例 页面。
2. 在实例的 “管理” 中,找到 “设置 SSH 密钥” 或 “密钥对管理”。
3. 打开你本机电脑生成的 id_ed25519.pub 公钥文件。你可以使用以下命令查看内容:
cat ~/.ssh/id_ed25519.pub
4. 将公钥内容复制,然后在 ECS 命令行中,通过 vim 来将 id_ed25519.pub 公钥内容添加到 ~/.ssh/authorized_keys 文件中。
• 在“SSH 密钥管理”中选择 “导入公钥” 或直接粘贴公钥内容。
5. 确保权限正确
确保 ~/.ssh 目录和 authorized_keys 文件的权限设置正确:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
6. 测试 SSH 登录
现在,公钥已经添加到 authorized_keys 文件中了,你可以使用私钥从本地机器连接到 ECS 实例进行测试:
ssh -i ~/.ssh/id_ed25519 root@your-ecs-public-ip
如果没有输入密码即可连接,选择 yes,即可成功登录。
7. 可选:配置 SSH 配置文件简化连接
一般情况下,都会配置一个简化别名连接,比如通过 ssh ecs 即可直接无感进入到服务器。
在 ~/.ssh/config 文件中,通过 vim 添加以下内容:
Host ecs
HostName your-ecs-public-ip
User root
IdentityFile ~/.ssh/id_ed25519
然后,你只需要输入以下命令即可连接,其中 ecs 是别名,可以随便起。
ssh ecs