您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 如何使用SSH-Key免密登录各云服务器和Github
## 一、SSH密钥认证原理
SSH(Secure Shell)密钥认证是一种基于非对称加密的身份验证方式,相比传统密码登录具有以下优势:
1. 更高的安全性(抵御暴力破解)
2. 无需记忆复杂密码
3. 支持自动化脚本执行
4. 可细粒度控制访问权限
工作原理:
- 客户端生成公钥/私钥对
- 公钥上传至服务端`~/.ssh/authorized_keys`文件
- 连接时服务端用公钥加密随机字符串,客户端用私钥解密后返回验证
## 二、生成SSH密钥对
### 1. 本地生成密钥
```bash
ssh-keygen -t ed25519 -C "your_email@example.com"
# 或使用RSA算法(兼容旧系统)
# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
参数说明:
- -t 指定密钥类型(ed25519更安全高效)
- -b 指定密钥位数(RSA建议4096位)
- -C 添加注释(通常用邮箱标识)
默认生成在:
- 私钥:~/.ssh/id_ed25519
- 公钥:~/.ssh/id_ed25519.pub
安全提示:私钥权限应为600,
.ssh目录权限应为700
方法一:使用ssh-copy-id(推荐)
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
方法二:手动添加(当服务器禁用密码登录时)
cat ~/.ssh/id_ed25519.pub | ssh user@server_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
ssh -i ~/.ssh/id_ed25519 user@server_ip
创建~/.ssh/config文件实现别名登录:
Host aliyun
HostName 123.45.67.89
User root
IdentityFile ~/.ssh/id_ed25519
Port 22
Host aws
HostName ec2-1-2-3-4.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/aws_key.pem
cat ~/.ssh/id_ed25519.pub | pbcopy # Mac
cat ~/.ssh/id_ed25519.pub | xclip # Linux
ssh -T git@github.com
成功时会显示:
Hi username! You've successfully authenticated...
将HTTPS地址改为SSH格式:
git remote set-url origin git@github.com:username/repo.git
生成时添加密码:
ssh-keygen -t ed25519 -a 100 -f ~/.ssh/work_key
使用ssh-agent管理密码:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
编辑/etc/ssh/sshd_config:
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin without-password
通过config文件指定不同密钥:
Host github.com
IdentityFile ~/.ssh/github_key
IdentitiesOnly yes
权限错误
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
连接被拒绝
ssh -vT git@github.com # 查看详细日志
密钥不匹配
ssh-keygen -lf ~/.ssh/id_ed25519.pub # 验证指纹
防火墙拦截
telnet github.com 22 # 测试端口连通性
.ssh目录到加密存储通过以上配置,您可以在保证安全的前提下,实现高效便捷的服务器和代码仓库访问。这种方案特别适合需要频繁登录多台服务器的运维人员和开发者。 “`
注:实际字数约950字,可根据需要调整各章节深度。建议实际操作时参考各云服务商和Github的官方文档获取最新配置细节。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。