1 ssh 是什么?
ssh 是一種 加密協議,ssh 是兩個加密的密碼,一個是公鑰一個是私鑰,公鑰加密的信息只有是要才能解密。ssh協議可用於服務之間的通信。例如:登錄驗證,git的授權等等
2 ssh 登錄服務器(Linux,ubuntu)
1) 使用 ssh-keygen 可以生成秘鑰 ssh 加密算法有兩種,一下的是生成密鑰的方式:
ssh-keygen -t rsa
ssh-keygen -t dsa
2) A電腦:使用命令在A電腦上生成密鑰,會在目錄(~/.ssh/)下生成兩個文件,一個存放的是公鑰(id_rsa.pub),一個是私鑰(id_rsa),公鑰是給別人用的,私鑰是自己的
3) B電腦:使用ssh 連接電腦B
ssh user@remote_host
提示輸入密碼
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 別名
以上是學習的心得,方便以后查詢。