SSH 密钥一键配置脚本

项目说明

SSH 密钥一键配置脚本是一套用于简化 SSH 密钥配置过程的解决方案。

项目地址:https://github.com/P3TERX/SSH_Key_Installer

使用方法

bash <(curl -Ls git.io/ikey.sh) [选项...] <参数>

选项说明

-o - 覆盖模式,必须写在最前面才会生效

-g - 从 GitHub 获取公钥,参数为 GitHub 用户名

-u - 从 URL 获取公钥,参数为 URL

-l - 从本地文件获取公钥,参数为本地文件路径

-d - 禁用密码登录

为什么要用脚本配置密钥?

在已有密钥的情况下,一般对新入手或重装后的 VPS 配置密钥登录需要创建~/.ssh目录、把公钥写入到~/.ssh/authorized_keys、设置权限、禁用密码登录等操作,虽然都是很简单的基础操作,但过程麻烦且枯燥:

mkdir -p ~/.ssh
curl -Ls https://github.com/P3TERX.keys >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
sudo sed -i '/PasswordAuthentication /c\PasswordAuthentication no' /etc/ssh/sshd_config
sudo service sshd restart

而脚本只需要一行命令:

bash <(curl -Ls git.io/ikey.sh) -g P3TERX -d

使用示例

生成 SSH 密钥对

如果没有密钥需要先生成,执行以下命令后一路回车即可。

ssh-keygen -t ecdsa -b 521
TIPS: 此方法适用于 Windows 10 (1803后)的 PowerShell 或 WSL,Linux 发行版和 macOS 自带的终端,但不仅限于这些环境。

科普: 521位的 ECDSA 密钥比起 RSA 密钥更安全且验证速度更快。

操作完后会在~/.ssh目录中生两个密钥文件,id_ecdsa为私钥,id_ecdsa.pub为公钥。

科普:~符号代表用户主目录,俗称家目录。其路径与当前登陆的用户有关,在 Linux 中普通用户家目录的路径是/home/用户名,而 root 用户是/root。Windowd 10 中路径是C:\Users\用户名。在 macOS 中路径是/Users/用户名

从 GitHub 获取公钥

GitHub 密钥管理页面 添加公钥,然后在主机上输入以下命令即可:

bash <(curl -Ls git.io/ikey.sh) -g P3TERX
P3TERX替换为自己的 GitHub 用户名,不然就装上我的公钥了。

从 URL 获取公钥

bash <(curl -Ls git.io/ikey.sh) -u https://p3terx.com/key.pub

从本地文件获取公钥

bash <(curl -Ls git.io/ikey.sh) -l /local/key/file

覆盖模式

使用-o选项将覆盖/.ssh/authorized_keys,必须写在最前面才会生效,比如:

bash <(curl -Ls git.io/ikey.sh) -o -g P3TERX

禁用密码登录

在确定使用密钥能正常登录后禁用密码登录:

bash <(curl -Ls git.io/ikey.sh) -d

添加新评论

评论列表