加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

windows下给 Git Bash 添加ssh key私钥实现git免密

发布时间:2020-12-14 16:35:31 所属栏目:百科 来源:网络整理
导读:git如果使用http/https协议,每次push时都会提示输入用户名和密码,使用ssh秘钥(git协议)则可以避免这一麻烦。 1.添加ssh key私钥 依次执行以下命令: ? exec ssh-agent bash eval ssh-agent -s ssh-add "C:UsersAdministrator.sshid_rsa" ? 说明: 1.


git如果使用http/https协议,每次push时都会提示输入用户名和密码,使用ssh秘钥(git协议)则可以避免这一麻烦。

1.添加ssh key私钥

依次执行以下命令:

?

exec ssh-agent bash
eval ssh-agent -s
ssh-add "C:UsersAdministrator.sshid_rsa"

?

说明:
1.命令ssh-add "C:UsersAdministrator.sshid_rsa"中,引号中的路径就是你私匙文件的路径,路径需要使用英文双引号包裹。

?

Identity added: C:UsersAdministrator.sshid_rsa (C:UsersAdministrator.sshid_rsa)

?

提示Identity added :说明已添加成功
添加成功后在C:UsersAdministrator.ssh目录下会有三个文件


id_rsa
id_rsa.pub
known_hosts

?

需要注意的是在ssh add 之前执行一条 “ssh-add -D” 命令,这是用来清除已有的私钥。

2.测试ssh key


ssh -T git@192.168.31.1

?

说明:
1.命令"ssh -T git@192.168.31.1"中,@后面替换成git服务器的ip地址。

提示 Welcome to GitLab,@xxx! 说明加入ssh成功。@后面的xxx为git用户名。

就是免密push/pull代码了。

遇到的问题

1.windows下git pull/push提示输入密码,git@192.168.31.1's password:Permission denied,please try again.
原因:SSH密钥对不匹配。这个错误主要密匙全路径名不相符,结果导致本地的SSH工具无法找到到正确的密匙。
解决:首先检查生成的两个文件id_rsa和id_rsa.pub是否确实在~/.ssh路径下,如过不是,把它们移过去。
其次是非常重要的一点,如果你在步骤2中自定义了ssh key的文件名,那么原因就在于你的命名与ssh内设定的名字不一致,因此需要手动添加秘钥。很多教程大概不是windows系统。。直接让输入命令

?

ssh-add ~/.ssh/你的文件名

?

其他常用操作

1.在git bash输入remote -v查看当前的remote url


git remote -v


若得到的连接是以http/https开头的,是http/https协议,git开头的是git协议

2.git从http/https协议替换成git协议


git remote set-url origin git@192.168.31.1:8099/test.git

?

done!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读