1. 程式人生 > >ssh及ssh-key

ssh及ssh-key

ssh命令:

1)SSH是安全的加密協議,用於遠端連線Linux伺服器。
2)SSH預設埠是22,安全協議版本SSH2,除了2之外還有SSH1(有漏洞).
3)SSH服務端主要包含兩個服務功能SSH遠端連線和SFTP服務。
4)Linux SSH 客戶端包含ssh遠端連線命令,以及遠端拷貝scp命令等。

建立金鑰:

客戶端建立金鑰:

命令說明:

  1)建立金鑰對時,要你輸入的密碼,為進行金鑰對驗證時輸入的密碼(和linux角色登入的密碼完全沒有關係);

  2)如果我們要進行的是SSH免密碼連線,那麼這裡密碼為空跳過即可。

  3)如果在這裡你輸入了密碼,那麼進行SSH金鑰對匹配連線的時候,就需要輸入這個密碼了。(此密碼為獨立密碼)

  4)使用者家目錄下的.ssh隱藏目錄下會生成:id_rsa id_rsa.pub 兩個檔案。id_rsa是使用者的私鑰;id_rsa.pub則是公鑰

 將公鑰id_rsa.pub檔案複製到另外一臺伺服器的使用者家目錄下的.ssh目錄下

 

將拷貝過去的id_rsa.pub檔案裡的內容追加到~/.ssh/authorized_keys檔案裡

 

此時我們回到第一臺伺服器進行遠端SSH連線

 

 

非互動式一條命令建立金鑰對

ssh-keygen -t dsa -f ~/.ssh/id_dsa -P ""

通過ssh-copy-id進行公鑰的自動分發。

 

 

SSH基於金鑰的安全認證總結:

1)如果我們要進行免密碼的SSH連線,那麼在建立金鑰對的時候不輸入任何密碼就可以了。
2)SSH基於金鑰的安全認證的本質其實就是將金鑰對中的公鑰裡的內容拷貝到對方伺服器的使用者家目錄下的.ssh目錄裡的authorized_keys檔案裡。
3)你想要和對方伺服器的哪個使用者進行金鑰對認證,那麼你就要把公鑰拷到對方該使用者的家目錄下的.ssh目錄裡的authorized_keys檔案裡(如果是想和普通使用者進行金鑰對登入,需要拷貝到/home目錄下的該使用者家目錄下。)
4)ssh-keygen -t引數可以指定金鑰對的加密型別。如果不指定預設rsa加密

 更改ssh預設登入配置

修改SSH服務的執行引數,是通過修改配置檔案/etc/ssh/sshd.config檔案來實現的。
一般來說SSH服務使用預設的配置已經能夠很好的工作了,如果對安全要求不高,僅僅提供SSH服務的情況,可以不需要修改任何配置。