**提示:對于已經(jīng)了解了如何建立ssh無密匙連接的童鞋,可以略過本章哦~**
## 什么是ssh
這是一款遠(yuǎn)程連接工具,一般情況下linux服務(wù)器安裝有,windows需要自行安裝。
## 為什么需要ssh連接服務(wù)器
因為git需要我們通過ssh連接服務(wù)器來上傳代碼
## 如何連接服務(wù)器
在windows平臺我們可以通過putty等工具使用ssh命令連接我們的服務(wù)器。
在linux平臺我們直接可以打開控制臺執(zhí)行
```
ssh user@your.server.com
```
`user`代表登錄linux服務(wù)器上的指定用戶,`your.server.com `代表你的服務(wù)器域名,同樣也可以是服務(wù)器的ip地址。默認(rèn)情況下ssh命令通過22端口進(jìn)行連接。如果無法連接,請確認(rèn)你的防火墻打開了22端口。。
## ssh登錄方式
有密匙連接:默認(rèn)方式,在執(zhí)行`ssh user@your.server.com `后需要輸入指定用戶的密匙,方可進(jìn)入系統(tǒng)。
無密匙連接:在本地保存公鑰,服務(wù)器保存私鑰,連接時自動驗證密匙。
<br>
<div align="center"><h3>有密匙連接<h3></div>

<br>
<div align="center"><h3>無密匙連接<h3></div>

## 無密匙連接建立
建議大家使用無密匙連接服務(wù)器,這樣即安全又方便(因為黑客猜不到你的密匙?。?。
### 在本地機(jī)器上創(chuàng)建ssh密匙
執(zhí)行如下命令,在連按三次回車鍵。(linux系統(tǒng)自帶,windows需要下載安裝ssh方可使用)
```
ssh-keygen -t rsa -C "your_email@example.com"
```
執(zhí)行完畢會出現(xiàn)如下結(jié)果,,注意劃紅線的地方,是ssh的生成目錄。進(jìn)入ssh的生成目錄拷貝`id_rsa.pub`的內(nèi)容(注意是有pub結(jié)尾的內(nèi)容)

*****
### 將ssh密匙的一部分保存到服務(wù)器
進(jìn)入你要通過無密匙登錄的用戶登入文件夾,分兩種情況
- root用戶:進(jìn)入/root目錄。
- 非root用戶:進(jìn)入/home/user,`user`代表用戶登入文件夾。比如我的服務(wù)器上home目錄里就有一個www目錄和git目錄,他們分別對應(yīng)git用戶和www用戶。
然后用戶將內(nèi)容拷貝到用戶登入文件夾的.ssh目錄下的authorized_keys文件中。(例如將內(nèi)容烤入:/home/www/.ssh/authorized_keys)
如果沒有這個文件或文件夾腫么辦?
手動創(chuàng)建他們丫~
**最后:進(jìn)入authorized_keys所在的目錄,修改authorized_keys的權(quán)限,讓他們能夠被指定用戶讀寫**
```
cd /home/www/.ssh/ # 這個目錄請視實際情況而定
sudo chown www:www authorized_keys
sudo chmod u+rw authorized_key
```
### 最后
我們就可以通過`ssh user@your.server.com `無秘鑰連接我們的服務(wù)器了,如果還不能就執(zhí)行`service sshd restart`命令重啟服務(wù)器的ssh服務(wù)下。
## 重啟ssh命令
service sshd restart
