Hello New World

  • 前言
  • 语法及选项说明
  • 使用方法
  • 生成 SSH 密钥对
  • 安装公钥
  • 覆盖模式
  • 禁用密码登录
  • 修改 SSH 端口
  • 一键操作
  • 相关内容
  • 首页
  • VPS测评
  • VPS优惠
  • 实用教程
  • 项目推荐
  • 随笔记录
  • 杂七杂八
  • Telegram频道
  • 常用工具
    • Smokeping
    • WHOIS查询
    • 网盘搜索
  • 文章归档
  • 榜上有名
  • 友情链接

Cloudflare DigitalVirt Docker GCP Google IDC.WIKI IPV6 IPV6 only Linux Oracle Tototel v.ps Virmach wawo 免费VPS 台湾VPS 喵云 微基主机 新加坡VPS 日本VPS 欧洲VPS 流媒体解锁 甲骨文 美国VPS 香港VPS

SSH 密钥一键配置脚本使用教程,使用一个密钥管理多个VPS配置

  • Hello World
  • 2023-07-17
  • 0
前言

作为一个合格的MJJ,手持的肯定不止一只鸡了,如果自己的机机数量太多,且都是用密码登录的话,被爆破的几率会高很多,尽管可以用fail2ban等来应对爆破,但总觉得还是使用密钥来登录来得安全,对于新入手或重装后的 VPS 配置密钥登录需要创建 ~/.ssh 目录、把公钥写入到 ~/.ssh/authorized_keys、设置权限、禁用密码登录等操作,虽然都是很简单的基础操作,但过程麻烦且枯燥:

mkdir -p ~/.ssh
curl -fsSL https://github.com/P3TERX.keys >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
sudo sed -i "s@.*\(PasswordAuthentication \).*@\1no@" /etc/ssh/sshd_config
sudo service sshd restart

SSH 密钥一键配置脚本是P3TERX大佬写的一套用于简化 SSH 密钥配置过程的解决方案。使用它以上操作只需要一行命令:

bash <(curl -fsSL git.io/key.sh) -g P3TERX -d

生成自己的公钥和私钥保存好之后,可以使用本脚本将公钥一键安装到各个VPS,自己只需要保存好私钥文件,那样登录所有的VPS都可以用这一个私钥了。等于一把钥匙开所有的锁,不用每把锁配一把钥匙了。

语法及选项说明
bash <(curl -fsSL git.io/key.sh) [选项...] <参数>
  • -o - 覆盖模式,必须写在最前面才会生效
  • -g - 从 GitHub 获取公钥,参数为 GitHub 用户名
  • -u - 从 URL 获取公钥,参数为 URL
  • -f - 从本地文件获取公钥,参数为本地文件路径
  • -p - 修改 SSH 端口,参数为端口号
  • -d - 禁用密码登录
使用方法
生成 SSH 密钥对

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

ssh-keygen -t ecdsa -b 521
TIPS: 此方法适用于 Win­dows 10 (1803后)的 Pow­er­Shell 或 WSL,Linux 发行版和 ma­cOS 自带的终端,但不仅限于这些环境。
科普: 521 位的 ECDSA 密钥比起 RSA 密钥更安全且验证速度更快。

操作完后会在 ~/.ssh 目录中生两个密钥文件,id_ecdsa 为私钥,id_ecdsa.pub 为公钥。公钥就是我们需要安装在远程主机上的。可以把这两个文件保存好,以便在后续其他机型上部署时用到,比如我会把他们命名为id_ecdsa.key和id_ecdsa.pub来存到本地电脑上。

安装公钥

从 GitHub 获取公钥

在 GitHub 密钥管理页面 添加公钥,比如用户名是 P3TERX,那么在主机上输入以

bash <(curl -fsSL git.io/key.sh) -g P3TERX

从 URL 获取公钥

把公钥上传到网络,通过网络链接获取公钥:

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

从本地文件获取公钥

通过 FTP 的方式把公钥传到 VPS 上,然后指定公钥路径:

bash <(curl -fsSL git.io/key.sh) -f ~/key.pub
覆盖模式

使用覆盖模式(-o)将覆盖 /.ssh/authorized_keys 文件,之前的密钥会被完全替换掉,选项必须写在最前面才会生效,比如:

bash <(curl -fsSL git.io/key.sh) -o -g P3TERX

或者

bash <(curl -fsSL git.io/key.sh) -og P3TERX
禁用密码登录

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

bash <(curl -fsSL git.io/key.sh) -d
修改 SSH 端口

把 SSH 端口修改为 2222:

bash <(curl -fsSL git.io/key.sh) -p 2222
一键操作

安装密钥、修改端口、禁用密码登录一键操作:

bash <(curl -fsSL git.io/key.sh) -og P3TERX -p 2222 -d
执行结果如图

本文参考来源:P3TERX-SSH 密钥一键配置脚本 使用教程

相关内容
  1. MacOS下绝佳的Linux虚拟工具 – Lima
  2. 甲骨文云服务器Oracle Cloud 分配并启用 IPv6 地址教程
  3. 哪吒面板 V1 绑定 Github oauth2 登录
  4. Watchtower – 自动更新 Docker 镜像与容器
  5. 2025 年甲骨文 Oracle Cloud Shell AMD/ARM 救砖教程(netboot 方法)
© 2025 Hello New World
Theme by Wing
  • {{ item.name }}
  • {{ item.name }}