对于新入手或重装后的 VPS 配置密钥登录需要创建 ~/.ssh
目录、把公钥写入到 ~/.ssh/authorized_keys
、设置权限、禁用密码登录等操作。本文针对上述过程麻烦且枯燥的基础操作,通过 @P3TERX 的 SSH_Key_Installer 一键脚本,实现从 Github 自动获取公钥并设置 SSH 密钥登陆。
一、创建密钥
可参考浏览 主机大巴:配置使用 SSH Key 登录并禁用 root 密码登录,实现生成一个 SSH Key。
基础指令:
ssh-keygen -t rsa
或:
ssh-keygen -t rsa
-b 2048 -v
推荐使用以下命令生成,521 位的 ECDSA 密钥比起 RSA 密钥更安全且验证速度更快:
ssh-keygen -t ecdsa -b 521
将 id_rsa.pub 公钥文件和 id_rsa 私钥文件(或 id_ecdsa.pub 公钥文件和 id_ecdsa 私钥文件)保存到本地电脑。
二、添加公钥
1、打开 Github Settings 个人设置页面
2、在个人设置页面找到:SSH and GPG keys — New SSH key
直达地址:https://github.com/settings/keys
3、将 id_rsa.pub 或 id_ecdsa.pub 公钥文件的内容复制添加进去即可
三、脚本使用
在 VPS 主机运行以下指令(参数可选):
bash <(curl -fsSL git.io/key.sh) -g YOUR_GITHUB_USER_NAME -P SSH_PORT -d
参数说明:
- -o – 覆盖模式,必须写在最前面才会生效
- -g – 从 GitHub 获取公钥,参数为 GitHub 用户名
- -u – 从 URL 获取公钥,参数为 URL
- -f – 从本地文件获取公钥,参数为本地文件路径
- -p – 修改 SSH 端口,参数为端口号
- -d – 禁用密码登录
例如:
bash <(curl -fsSL git.io/key.sh) -og zhujidaba -p 12345 -d
从 Github 用户名 zhujidaba 获取公钥,采用覆盖模式,修改 SSH 端口为 12345,并禁用密码登陆。
参考阅读
正文完