嘘~ 正在从服务器偷取页面 . . .

Git的SSH免密使用


本文记录关于Git的免密使用,连接Github免密和 云服务器或私有服务器免密。

Github的Git免密使用

1 客户端生成密钥

ssh-keygen -t rsa -C "这里换上你的邮箱"

然后会出现询问,大概意思如下:

1. 确认秘钥的保存路径(如果不需要改路径则直接回车);
2. 如果上一步置顶的保存路径下已经有秘钥文件,则需要确认是否覆盖(如果之前的秘钥不再需要则直接回车覆盖,如需要则手动拷贝到其他目录后再覆盖);
3. 创建密码(如果不需要密码则直接回车);
4. 确认密码;

要免密登录请输密码的时候回车即可。根据提示找到密钥所在文件:

id_rsa  #私钥
id_rsa.pub  #公钥

2 Github配置SSH公钥

登录git账户,SettingSSH and GPG keys, New ssh key

id_rsa.pub的内容粘贴到key的文本域,点击Add SSH key完成。

后续的客户端git操作就不要密码了。

Git服务器配置SSH免密

注意:这里的Git服务器可以是云服务器或者自己的私服务器。本次操作环境是Centos 7

1 客户端生成密钥

注意:同上,如果已经配置过Github的ssh免密上面已经有了可以不用重复生成,可以直接跳到第二步。

ssh-keygen -t rsa -C "这里换上你的邮箱"

然后会出现询问,大概意思如下:

1. 确认秘钥的保存路径(如果不需要改路径则直接回车);
2. 如果上一步置顶的保存路径下已经有秘钥文件,则需要确认是否覆盖(如果之前的秘钥不再需要则直接回车覆盖,如需要则手动拷贝到其他目录后再覆盖);
3. 创建密码(如果不需要密码则直接回车);
4. 确认密码;

要免密登录请输密码的时候回车即可。根据提示找到密钥所在文件:

id_rsa  #私钥
id_rsa.pub  #公钥

2 服务端导入客户端公钥

在/home/git下已经创建.ssh目录,然后创建authorized_keys文件,并将客户端生成的公钥导入进去。

cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys

id_rsa.pub 文件的内容写入authorized_keys

3 服务端SSH开启RSA认证

如果没有安装SSH服务,请先安装SSH服务。

vim /etc/ssh/sshd_config

其中三个地方的设置要确认如下:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

git用户不允许登录shell

vim /etc/passwd

git:x:502:502::/home/git:/bin/bash

改为

git:x:502:502::/home/git:/usr/local/git/bin/git-shell


文章作者: Small-Rose /张小菜
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-SA 4.0 许可协议。转载请注明来源 Small-Rose /张小菜 !
评论
  目录