git是个好东西,tortoisegit也是个好东西。在Windows下使用tortoisegit用的比较多,而对命令行的时候比较少。html
对于tortoisegit能够支持使用密钥有两种,一种是支持openssh的密钥,一种是支持putty的密钥。可是这两种不一样,对于Linux的ssh通常都使用openssh,可是不要紧,咱们能够转换。git
咱们来看看这样方式,在安装TortoiseGit的时候其实会让你选择默认使用的ssh客户端,默认状况下是使用TortoiseGitPlink这个客户端。github
指定ssh的客户端为TortoiseGitweb
在安装tortoisegit的时候,默认还会安装有Puttygen.exe这个程序,这个程序是能够生成putty密钥的。服务器
点击Generate
按钮后会按一个进度条,而后鼠标不断在该程序内动,目的是生成一些随机数。ssh
我第一次使用鼠标傻傻的不动,而后进度条很是的缓慢,我想这个东西生成一个密钥那么慢?原来是我打开的方式不对。
putty密钥生成ui
点击save private key
保存putty的私钥,putty的密钥的后缀名是ppk。spa
咱们在上面建立了putty的密钥对,如今须要将生成的公钥添加到服务器上。命令行
其实这里也能够把公钥添加到github.com上,也是可使用的。 putty生成的公钥是和openssh的的公钥是相同的,他们只是私钥不一样
假设刚刚生成的公钥是code
1
|
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAi1vfwiNbamTPUOSpEWvQDYrefFcuPkUuZe5Y6r4l/xEAv7e9f5QDr6QEo215r2qBBnuixAgzpjZPSvr7S51qinuq6EyXm4kFGIW6B/L4zVjx5DKxofTno39xe58QQnAixoHNN9ccNhetcxEjp7gORo1k7AMuMuQY7V/6aekiOPfh6QsWuUMf6HZhZMqpu3q3xAqHlmOU5emAif4bQKZFghEYOftHZH+E+Yo+ed65KtOJ+V5PjPxD6RMGfx3A7MhsV5PXDijD7yu0b33r+mEDLoqRO1RDQUoviryBbuE4Gcu63a3J8+3GifXbrXOHzlMipAYtHxHjg5XuLGENlEmodw== rsa-key
|
登陆到服务器的须要添加公钥的用户名下,好比user1这个用户名。
1
2
3
4
5
6
|
cd
/home/user1/
mkdir
.
ssh
#若是这个目录不存在
touch
.
ssh
/authorized_keys
#若是这个文件不存在
chmod
600 .
ssh
/authorized_keys
#设置一下文件的权限
echo
"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAi1vfwiNbamTPUOSpEWvQDYrefFcuPkUuZe5Y6r4l/xEAv7e9f5QDr6QEo215r2qBBnuixAgzpjZPSvr7S51qinuq6EyXm4kFGIW6B/L4zVjx5DKxofTno39xe58QQnAixoHNN9ccNhetcxEjp7gORo1k7AMuMuQY7V/6aekiOPfh6QsWuUMf6HZhZMqpu3q3xAqHlmOU5emAif4bQKZFghEYOftHZH+E+Yo+ed65KtOJ+V5PjPxD6RMGfx3A7MhsV5PXDijD7yu0b33r+mEDLoqRO1RDQUoviryBbuE4Gcu63a3J8+3GifXbrXOHzlMipAYtHxHjg5XuLGENlEmodw== rsa-key"
\
>> .
ssh
/authorized_keys
#这个和上面是同一行的
|
注意:公钥在authorized_keys的文件形式是一行一个公钥,切记。不然该公钥不起做用。
公钥已经添加到服务器去了,接下来就是在客户端上设置密钥了。
在git clone
的时候使用,以下设置:
git clone设置putty私钥
这样就能够搞定了。
若是你有putty的私钥了,可是想在ssh客户端下使用openssh的私钥,再去生成一个openssh的密钥对比较麻烦(能偷懒就偷懒嘛)。
点击Conversions
菜单项中的Import key
选择一个putty的私钥或者openssh的私钥
点击save private key
保存为putty的私钥
或者点击菜单Conversions
->Export OpenSSH Key
保存为openssh的私钥
若是SSH登陆一直失败,看看是否权限会有些问题?参考ssh密钥登陆失败