ssh密钥作用
在Linux中配置ssh密钥,在Git中使用SSH协议访问Github,使用 SSH 协议, 您可以连接并验证远程服务器和服务。在每次访问时连接到服务而不提供用户名或密码。
第一步:检查是否存在SSH密钥
1 | ls -al ~/.ssh |
如果不存在就会显示无法访问
第二步:生成SSH key
输入指令:
1 | ssh-keygen -t rsa -C "your_email@example.com" |
字母C一定要大写
- Enter file in which to save the key (~/.ssh/id_rsa): 提示文件存放位置,一般情况下就是存储在当前用户下.ssh文件夹下面。【直接回车】。
- Enter passphrase (empty for no passphrase):提示输入密码
- Enter same passphrase again: 输入确认密码
此时可以在/~/.ssh中看到 id_rsa(私钥) 和id_rsa_pub(公钥)
第三步:连接gitlab、github、gitee
粘贴id_rsa_pub公钥中的内容,cat、vim或者其他工具直接粘贴出来。
github网站上,右上角头像,点击settings==》SSH and GPC keys ==》new SSH key。粘贴公钥,确定完成。
测试 ssh -T git@github.com
其他类似。
实现远程服务器免密登录连接
第一步:修改远程服务器sshd服务的配置文件
vim /etc/ssh/sshd_config
修改:
1 | RSAAuthentication yes # RSA认证 |
之后重启sshd systemctl restart sshd
第二部 将之前我们生成的公钥加入到服务器.ssh/authorized_keys文件中
依旧是复制粘贴,vim保存退出,搞定。
配置本地config文件。
1 | Host vps # 一个便于你区别这是哪台机器的名字 |
注意:~是指当前用户下地址,绝对路径自己pwd就可以看到了。