上级 项目
type
status
date
slug
summary
password
子级 项目
tags
category
前言
对于新入手或重装后的 VPS 配置密钥登录需要创建
~/.ssh
目录、把公钥写入到 ~/.ssh/authorized_keys
、设置权限、禁用密码登录等操作,虽然都是很简单的基础操作,但过程麻烦且枯燥:SSH 密钥一键配置脚本是一套用于简化 SSH 密钥配置过程的解决方案。使用它以上操作只需要一行命令:
语法及选项说明
o
- 覆盖模式,必须写在最前面才会生效
g
- 从 GitHub 获取公钥,参数为 GitHub 用户名
u
- 从 URL 获取公钥,参数为 URL
f
- 从本地文件获取公钥,参数为本地文件路径
p
- 修改 SSH 端口,参数为端口号
d
- 禁用密码登录
使用方法
生成 SSH 密钥对
如果没有密钥需要先生成,执行以下命令后一路回车即可。
TIPS:此方法适用于 Windows 10 (1803后)的 PowerShell 或 WSL,Linux 发行版和 macOS 自带的终端,但不仅限于这些环境。
科普: 521 位的 ECDSA 密钥比起 RSA 密钥更安全且验证速度更快。
操作完后会在
~/.ssh
目录中生两个密钥文件,id_ecdsa
为私钥,id_ecdsa.pub
为公钥。公钥就是我们需要安装在远程主机上的。科普:~
符号代表用户主目录,俗称家目录。其路径与当前登陆的用户有关,在 Linux 中普通用户家目录的路径是/home/用户名
,而 root 用户是/root
。Windows 10 中路径是C:\Users\用户名
。在 macOS 中路径是/Users/用户名
。
安装公钥
从 GitHub 获取公钥
在 GitHub 密钥管理页面 添加公钥,比如我的用户名是
P3TERX
,那么在主机上输入以下命令即可:从 URL 获取公钥
把公钥上传到网盘,通过网盘链接获取公钥:
从本地文件获取公钥
通过 FTP 的方式把公钥传到 VPS 上,然后指定公钥路径:
覆盖模式
使用覆盖模式(
-o
)将覆盖 /.ssh/authorized_keys
文件,之前的密钥会被完全替换掉,选项必须写在最前面才会生效,比如:或者
禁用密码登录
在确定使用密钥能正常登录后禁用密码登录:
修改 SSH 端口
把 SSH 端口修改为
2222
:一键操作
安装密钥、修改端口、禁用密码登录一键操作:
- 作者:团子
- 链接:https://ikun.su///article/SSH
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章