SSH密钥使用指南:从生成到配置的完整教程
创作时间:
作者:
@小白创作中心
SSH密钥使用指南:从生成到配置的完整教程
引用
CSDN
1.
https://blog.csdn.net/qq_34885615/article/details/143424092
SSH密钥是一种安全便捷的远程登录认证方式,通过生成密钥对(公钥和私钥)实现免密登录。这种方式不仅提高了安全性,还能简化自动化脚本的执行过程。本文将详细介绍SSH密钥的生成、配置和使用方法。
1 前言
SSH 密钥的作用:
- 免密登录:通过密钥认证代替密码登录,更安全便捷。
- 自动化脚本:适用于 CI/CD、远程备份等无需人工干预的场景。
- 安全性:密钥比密码更难被暴力破解(尤其是长密钥+密码短语)。
2 生成密钥
// 生成密钥的命令,然后它会要求你输入两次密钥口令,如果你不想在使用密钥时输入口令,将其留空即可。
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_dsa # 推荐 ed25519 算法
# 或使用 RSA(兼容旧系统)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_dsa
- 选项说明:
- -t:密钥类型(ed25519 或 rsa)。
- -b:密钥长度(RSA 建议 4096 位)。
- -C:注释(通常为邮箱或用途描述)。
- -f:参数用于指定生成的SSH密钥对文件的存储路径和文件名。
3 查看密钥
生成密钥后,在Windows下,默认保存在你的账户名下,如“C:\Users\zhangsan.ssh”,而Linux在“~/.ssh”。
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
id_dsa里边保存的是私钥,不要泄露给其他人,id_dsa.pub保存的是公钥,可以添分享给服务器管理员,下边是公钥的一个例子。
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== xxxxx@xxxxx.com
4 服务器使用公钥
4.1 与git相关的服务器
我们常用的服务器有github/gitlab/gitee,需要将id_rsa.pub公钥中的内容完全拷贝到你想添加的Git服务器的配置中,如下图是gitlab上的SSH keys配置。
添加完之后,如果想要验证是否添加成功,可以输入以下命令进行确认。
ssh -T git@gitee.com //验证gitee
如下图,返回信息“You’ve successfully authenticated, but GITEE.COM does not provide shell access.”,代表我们已经添加成功了。
4.2 其他服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub user@hostname # 自动追加公钥到 ~/.ssh/authorized_keys
如果失败,可以手动copy到服务器中的authorized_keys文件里。
另外,服务器端的权限必须严格:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
5 使用SSH登录
5.1 基本登录
ssh -i ~/.ssh/id_ed25519 user@hostname # 指定私钥路径
5.2 简化命令(配置 SSH Config)
编辑 ~/.ssh/config:
Host myserver
HostName hostname # 服务器 IP 或域名
User user
IdentityFile ~/.ssh/id_rsa # 指定私钥
Port 2222 # 非默认端口时指定
登录时直接使用别名:
ssh myserver
如果有需要,可以重启SSH服务:
sudo systemctl restart sshd
6 小结
SSH密钥可以方便的代替每次输入密码的步骤,更方便的使用服务器,希望本章内容可以帮到大家。
热门推荐
郭艳华:历代文人为何钟情黄河?
鲸类脊柱结构新发现揭示水生环境适应机制
揭秘卫生巾生产线:高效、卫生与品质的保障
“身高影响命运:NBA五位球星若再高5cm将改变历史”
2024年中国塑料制品行业竞争格局及市场份额深度分析
“数字+文旅”:2024年文化和旅游数字化创新示范十佳案例赏析
蓝牙其实很慢!只有几兆!虽然频率2.4G!蓝牙的工作原理!
如何妥善处理退休工资相关问题?这些问题的解决方法有哪些局限性?
首次突破1400亿元大关 GDP全省县域第一:南昌县扛稳排头兵担当
周末出发,重庆绝美露营地大揭秘:免费玩转草坪烧烤、垂钓戏水,嗨翻不重样
2024年11月科幻电视剧排行榜:《长相思》登顶榜首
龙珠,一口气看完最后10年发生的大事件,青衣悟空实力恐怖如斯
龙珠 | 孙悟天的角色意义:鸟山明为何赋予《龙珠》新一代战士?
揭秘便血:颜色与形状背后的健康信号
如何将手机切换至安全模式,保障数据安全与系统稳定性
如何有效强制重启手机、平板和电脑设备以解决卡顿问题
东郊记忆:见证成都工业文明的辉煌历程
心脑血管病患者春节健康指南
清血八味片主要含哪些成分及功效是什么
麻生真在龙族幻想中究竟如何展现平凡中的伟大与隐藏悲剧?
有效沟通的六个步骤
梅卡瓦 4 主战坦克:以色列坦克的巅峰之作
以色列梅卡瓦坦克,采用发动机前置设计,绝不是步兵战车这么简单
白内障的10个症状
岭南瑰宝:广东四大名园的历史风华与园林之美
湖南长沙橘子洲头景点介绍,感受毛主席豪情,领略江洲魅力!
一文读懂STM32和51单片机的区别
泰州姜堰:智慧菇房破传统 科技种植效益翻八倍
菌菇养殖智能监控系统:科技赋能现代农业的新突破
如何评估黄金价格的趋势?这种趋势评估的可靠性如何验证?