【轉載】ssh-keygen 基本用法

 

【轉載】ssh-keygen 基本用法 


ssh 公鑰認證是ssh認證的方式之一。經過公鑰認證可實現ssh免密碼登錄,git的ssh方式也是經過公鑰進行認證的。git

在用戶目錄的home目錄下,有一個.ssh的目錄,和當前用戶ssh配置認證相關的文件,幾乎都在這個目錄下。安全

ssh-keygen 可用來生成ssh公鑰認證所需的公鑰和私鑰文件。bash

使用 ssh-keygen 時,請先進入到 ~/.ssh 目錄,不存在的話,請先建立。而且保證 ~/.ssh 以及全部父目錄的權限不能大於 711ssh

生成的文件名和文件位置

使用 ssh-kengen 會在~/.ssh/目錄下生成兩個文件,不指定文件名和密鑰類型的時候,默認生成的兩個文件是:post

  • id_rsa
  • id_rsa.pub

第一個是私鑰文件,第二個是公鑰文件。spa

生成ssh key的時候,能夠經過 -f 選項指定生成文件的文件名,以下:.net

[huqiu@101 .ssh]$ ssh-keygen -f test -C "test key" ~~文件名 ~~~~ 備註 

若是沒有指定文件名,會詢問你輸入文件名:code

[huqiu@101 .ssh]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/huqiu/.ssh/id_rsa):

你能夠輸入你想要的文件名,這裏咱們輸入testblog

密碼

以後,會詢問你是否須要輸入密碼。輸入密碼以後,之後每次都要輸入密碼。請根據你的安全須要決定是否須要密碼,若是不須要,直接回車:get

[huqiu@101 .ssh]$ ssh-keygen -t rsa -f test -C "test key" Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: 

結果

若是文件名是test,結果是:

[huqiu@101 .ssh]$ ll test* -rw------- 1 huqiu huqiu 1675 Sep 15 13:24 test -rw-r--r-- 1 huqiu huqiu 390 Sep 15 13:24 test.pub 

備註

上面生成的命令中,-C選項是公鑰文件中的備註:

[huqiu@101 .ssh]$ cat test.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlgjiMw7AskxbvpQY9rmZPQxQBzh9laxFvbaini2EgmQkNsXBA9WJOXn2YBJauoiVsdUKBWA97avjsobrTxsCYvFr1yQQvTfTlbqlqGNIhQc/3HjTl2pIkClpDWvBrRN+jpyESS4MNbfOL1qjT4c/QhGvj6U6HrN6kUyn58oyyJpTzOLG74AZELJ2Led57QvTw1yJXZuAMWioR0A3BGd25fdocLX3ebux6ya8AsloOVYfsAqGlggrARe6FXjLfMH4a/nxaAdiDYVXU/Vr1ybK9P7SfyEDGJi3JtgiPUlA6vPxUC E+9IJPQaqqeqCGzrJ6G/XO7om1v9YLLG/H/ZN2tQ== test key ~~~~備註 

文件的權限

爲了讓私鑰文件和公鑰文件可以在認證中起做用,請確保權限正確。

對於.ssh 以及父文件夾,當前用戶用戶必定要有執行權限,其餘用戶最多隻能有執行權限。

對於公鑰和私鑰文件也是: 當前用戶必定要有執行權限,其餘用戶最多隻能有執行權限。

對於利用公鑰登陸,對其餘用戶配置執行權限是沒有問題的。可是對於git,公鑰和私鑰, 以及config等相關文件的權限,其餘用戶不可有任何權限。

參考文獻:ssh-keygen參數說明

相關文章
相關標籤/搜索