1 ssh 是什麼?git
ssh 是一種 加密協議,ssh 是兩個加密的密碼,一個是公鑰一個是私鑰,公鑰加密的信息只有是要才能解密。ssh協議可用於服務之間的通訊。例如:登陸驗證,git的受權等等算法
2 ssh 登陸服務器(Linux,ubuntu)ubuntu
1) 使用 ssh-keygen 能夠生成祕鑰 ssh 加密算法有兩種,一下的是生成密鑰的方式:服務器
ssh-keygen -t rsassh
ssh-keygen -t dsa學習
2) A電腦:使用命令在A電腦上生成密鑰,會在目錄(~/.ssh/)下生成兩個文件,一個存放的是公鑰(id_rsa.pub),一個是私鑰(id_rsa),公鑰是給別人用的,私鑰是本身的加密
3) B電腦:使用ssh 鏈接電腦Bspa
ssh user@remote_hostrest
提示輸入密碼code
5) 在B電腦新建文件~/{user}/.ssh/authorized_keys文件,並把A電腦的id_rsa.pub拷貝到該文件中,也可使用命令在A電腦中操做:
cat ~/.ssh/id_rsa.pub | ssh remoteuserName@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
6) 在B電腦中修改配置文件/etc/ssh/sshd_conf ,把PubkeyAuthentication yes ,RSAAuthentication 前面的#號去掉 啓用ssh 公鑰驗證,
7) 簡單的ssh配置就完了,而後重啓ssh 服務 sudo service sshd restart,
在A電腦中使用 ssh remoteUser@remote_host 就能夠直接登陸了,不用輸密碼了。
有時候咱們使用ssh,長時間的不操做遠程電腦當前的鏈接就會斷掉,這個時候還要再次鏈接,這對於開發人來講非常不方便。這個時候就要修改配置了
在遠程電腦中修改 /etc/ssh/sshd_conf:
ClientAliveInterval 60 //請求的時間間隔
ClientAliveCountMax 3 //服務器請求的次數
ClientAliveInterval 的默認值是0表示不向客戶端發送請求,設置ClientAliveInterval 60是每隔一分鐘向客服端發送送一次消息,這樣就保證了長鏈接。ClientAliveCountMax 3表明
服務器發送請求客戶端沒有響應的最大次數,若是沒有響應的次數達到這個值就會自動斷開。通常的只要不關閉窗口,客戶端是響應的。
3 ssh 別名登陸
有時候每次登陸遠程服務器都要輸入用戶名和host,當管理多臺的時候將會很麻煩,這個時候咱們須要管理咱們的會話,配置別名。在一臺電腦上使用不一樣的密鑰登陸不一樣的服務器
經過配置~/.ssh/config 文件能夠方便的的登陸,若是沒有該文件就本身建立一個。配置信息入下:
Host 別名
HostName 主機名
Port 端口
User 用戶名
IdentityFile 本地密鑰文件的路徑(可選默認是~/.ssh/id_rsa.pub)
配置完成以後就但是使用別名免密碼登陸了。
ssh 別名
以上是學習的心得,方便之後查詢。