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密鑰登陸失敗