我所作的:html
在本地生成公鑰和私鑰,而後將公鑰複製到github中的ssh keysgit
$ ssh-keygen -t rsa -C "username"#the username is the account of your github
$ cat ~/.ssh/id_rsa.pub
而後將idea中的git 裏面的SSH executable 設置爲nativegithub
可是仍是沒用安全
而後我使用git工具鏈接到遠程倉庫bash
$ git clone git@github.com:crr121/BP-neural-network.git
it works服務器
查看kown_hosts,發現多了github的公鑰。這裏是由於第一次登陸到git倉庫的時候,因爲本地沒有遠程倉庫的公鑰,那麼對於本地來講,就是不安全的,那麼首先須要將遠程的公鑰保存到本地,使得遠程倉庫是受信任的,才能登陸ssh
SSH的登陸過程:ide
SSH之因此可以保證安全,緣由在於它採用了公鑰加密。工具
整個過程是這樣的:(前提是本身的公鑰已經發給了服務器)加密
(1)遠程主機(也就是服務器)收到用戶的登陸請求,把本身的公鑰發給用戶,(例如保存到本身的known_hosts中)。
(2)用戶使用這個公鑰,將登陸密碼加密後,發送回來。
(3)遠程主機用本身的私鑰,解密登陸密碼,若是密碼正確,就贊成用戶登陸。