别再手动复制SSH公钥了,Linux服务器一键从GitHub快速导入公钥
输入GitHub用户名就自动导入SSH公钥?Ubuntu这懒人功能挺省事。原理不就是爬取`https://github.com/用户名.keys`吗?手动用`curl`也能实现,装`ssh-import-id`更高效,但谁稀罕这些花里胡哨的。
目录6 个章节
前言
Ubuntu 安装程序(Subiquity)的一大亮点,只要输入 GitHub 用户名,就可以自动导入 SSH 公钥。
它极大地简化了新服务器的初始化配置,让你免去了手动复制粘贴那一大串 SSH Public Key 的烦恼。
原理
GitHub 为每个用户提供了一个公开的 SSH 公钥访问接口。
任何人的公钥都是公开信息的,你只需要在浏览器或终端访问以下 URL 模式: https://github.com/你的用户名.keys
当你输入用户名时,Ubuntu 安装程序在后台执行了类似以下的操作:
- 通过网络请求访问
https://github.com/username.keys。 - 获取该页面返回的纯文本公钥列表。
- 将这些公钥追加到服务器对应用户的
~/.ssh/authorized_keys文件中。 - 确保
.ssh目录和authorized_keys文件的权限正确(通常是 700 和 600)。
如何实现?
方法一:使用 ssh-import-id(最推荐)
Ubuntu 那个功能其实是调用了 ssh-import-id 这个工具,它在 Debian 的官方仓库里也是有的。
-
安装工具:
Bash
sudo apt update && sudo apt install ssh-import-id -y -
导入公钥:
Bash
ssh-import-id gh:你的GitHub用户名注:
gh:前缀代表 GitHub,它也支持 Launchpad(使用lp:)。
方法二:纯手动万能命令(无需安装任何工具)
如果你不想安装额外的软件包,直接用 curl 配合管道操作也能搞定:
Bash
mkdir -p ~/.ssh && chmod 700 ~/.ssh
curl -L https://github.com/你的用户名.keys >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Tips
- 这种方式依赖于 GitHub 的可用性和网络连接。如果你在公司内网或者特殊网络环境下,记得确认服务器能否正常访问
github.com。 - 多平台支持: 除了 GitHub,GitLab 也提供类似的功能,链接格式为
https://gitlab.com/用户名.keys。 - 自动化部署: 如果你经常折腾服务器,可以把上面那行
curl命令写进你的初始化脚本或 Dockerfile 中,实现真正的“无感”配置。
_EOF_
别再手动复制SSH公钥了,Linux服务器一键从GitHub快速导入公钥
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
Nginx配置http跳转https-强制https访问
前言 最近上线了好几个项目,同时也申请了相应的SSL证书,不过发现了一个问题,用户在浏览器直接输入域名的时候,浏览器默认访问的是http站点,然而我们的网站只支持https访问,所以就访问不了咯。 其实可以在nginx全局配置里面把所有访问重定向到https,不过服务器有些站点是提供http服务的,所以只能每个站点分别配置。 根据搜索引擎找到的资料,本文总结了三种配置方法,有需要的朋友可以选择中意
2025-10-27 · 系统配置 · 约 1 分钟
在Manjaro上配置国内源
前言 之前我一直用官方源的,但是最近发现官方源变慢了,于是想要切换国内源,顺手做个笔记。 操作 使用以下命令,生成可用中国镜像站列表: sudo pacman-mirrors -i -c China -m rank 刷新完列表之后会弹出来一个框让你选择软件源,这里的就都是国内源了,选择一个喜欢的就行(当然要选择两个以上也没问题。) 日常桌面截图
2025-10-27 · 系统配置 · 约 1 分钟
Linux终端输入密码显示星号
Linux默认密码星号?这体验真不错。一行sudoers配置搞定,真就有人非要用脚本整这些。关闭?那不是自讨没趣吗。
2025-10-01 · 系统配置 · 约 1 分钟
Ubuntu-16-04-升级Python版本到3-6
前言 没办法,unity桌面实在是太好用了,Ubuntu18.04上安装了unity桌面毕竟不够完美,所以我昨天就降级到Ubuntu16.04,享受一波原生Unity桌面的快感。 一切都OK,不过Python版本有点低,所以要用万能PPA源升级一下。 操作 安装Python3.6 sudo add-apt-repository ppa:jonathonf/python-3.6 sudo apt-g
2025-10-27 · 系统配置 · 约 1 分钟
讨论
共 0 条加载评论中…