sshkeygenlinux
❶ 如何在linux中如何配置ssh免密碼登錄
首先需要在伺服器端設置/etc/ssh/sshd_config
# vim /etc/ssh/sshd_config
修改如下兩行為yes。其實大多數情況下不用修改,默認就是yes。
RSAAuthentication yes
PubkeyAuthentication yes
(1) 如果客戶機和伺服器都是Linux機器,那麼我們使用下面的方法:(後面第2節會提到怎麼在Windows下使用Putty生成密鑰對)
我們需要在客戶端生成RSA密鑰對。使用ssh-keygen命令:
# ssh-keygen -t rsa
參數t的意思是type,後面跟著加密類型,這里我們是rsa。
然後會提示你輸入密鑰保存完成文件名,這里我們需要使用默認的id_rsa,之後才能正常才能登錄。如果你生成的密鑰作為其他用處,那麼可以命名為其他名稱:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cake/.ssh/id_rsa):
之後會提示你輸入一個passphrase,我們這里可以留空,這樣我們登錄的時候就不許輸入密碼。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
然後會提示你密鑰生成成功。這是你的私鑰保存為~/.ssh/id_rsa,你的公鑰是~/.ssh/id_rsa.pub
我們現在需要做的是,把id_rsa.pub的內容,添加的伺服器端的~/.ssh/autherized_keys文件最後。
你可以把這個文件上傳到伺服器端,然後使用命令:
# cat id_rsa.pub >> ~/.ssh/autherized_keys
到這里就完成了。
(2) 在Windows下使用Putty生成密鑰對:
Putty的安裝目錄下有個puttygen.exe程序,我們運行這個程序。
之後點擊Generate,開始生成密鑰對。我們需要根據提示,在指定方框內隨機滑動滑鼠。這是為了根據滑鼠軌跡,產生一些隨機數據。
之後生成結束,我們點擊Save Private Key將私鑰存放在某個目錄中。然後賦值最上面文本框中的全部內容,粘貼到Linux伺服器端的autherized_key的最後。
我們現在可以關閉這個小程序。
現在打開Putty,在左邊的選項中,選擇Conneciton–SSH–Auth,在Private key file for authentication中,選擇剛才保存的私鑰路徑就可以了。
到此位置,Putty也可以不用密碼登錄了。
❷ 怎樣在虛擬機的linux中安裝ssh
一樓說的,前一半對,後一半不太對(不叫做安裝SSH)
通常SSH會在你裝系統時就裝好,頂多有的系統會在即將安裝完時會有一個提示詢問你是否在開機時啟動SSH服務而已
SSH開啟後會有一個進程SSHD在運行,可以用netstat
-nap
命令查詢得到,例如:
$
netstat
-nap
|
grep
-i
sshd
tcp
0
0
:::22
:::*
LISTEN
29391/sshd
客戶端若想通過SSH協議以user身份登錄某一台伺服器(比如IP地址為1.2.3.4),則可以
ssh
[email protected]
若SSHD的監聽埠不是默認的22埠,假設已改為1234埠,則可以這樣
ssh
-p
1234
[email protected]
ssh-keygen是SSH軟體包中的一個子程序,用來生成密匙對,使你的登錄更為安全(防止「中間人」攻擊)
更多資料自已查
SSH相關文件(常見)
/usr/sbin/sshd
SSHD服務端的服務程序
/usr/bin/ssh
SSH客戶端
/usr/bin/ssh-keygen
這個上面說過
/usr/bin/ssh-keyscan
看名字可以猜到
/etc/ssh/ssh_config
客戶端配置文件
/etc/ssh/sshd_config
服務端配置文件
❸ linux ssh怎麼免密登錄
你好,
首先需要在伺服器端設置/etc/ssh/sshd_config
# vim /etc/ssh/sshd_config
修改如下兩行為yes。其實大多數情況下不用修改,默認就是yes。
RSAAuthentication yes
PubkeyAuthentication yes
(1) 如果客戶機和伺服器都是Linux機器,那麼我們使用下面的方法:(後面第2節會提到怎麼在Windows下使用Putty生成密鑰對)
我們需要在客戶端生成RSA密鑰對。使用ssh-keygen命令:
# ssh-keygen -t rsa
參數t的意思是type,後面跟著加密類型,這里我們是rsa。
然後會提示你輸入密鑰保存完成文件名,這里我們需要使用默認的id_rsa,之後才能正常才能登錄。如果你生成的密鑰作為其他用處,那麼可以命名為其他名稱:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cake/.ssh/id_rsa):
之後會提示你輸入一個passphrase,我們這里可以留空,這樣我們登錄的時候就不許輸入密碼。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
然後會提示你密鑰生成成功。這是你的私鑰保存為~/.ssh/id_rsa,你的公鑰是~/.ssh/id_rsa.pub
我們現在需要做的是,把id_rsa.pub的內容,添加的伺服器端的~/.ssh/autherized_keys文件最後。
你可以把這個文件上傳到伺服器端,然後使用命令:
# cat id_rsa.pub >> ~/.ssh/autherized_keys
到這里就完成了。
(2) 在Windows下使用Putty生成密鑰對:
Putty的安裝目錄下有個puttygen.exe程序,我們運行這個程序。
之後點擊Generate,開始生成密鑰對。我們需要根據提示,在指定方框內隨機滑動滑鼠。這是為了根據滑鼠軌跡,產生一些隨機數據。
之後生成結束,我們點擊Save Private Key將私鑰存放在某個目錄中。然後賦值最上面文本框中的全部內容,粘貼到Linux伺服器端的autherized_key的最後。
我們現在可以關閉這個小程序。
現在打開Putty,在左邊的選項中,選擇Conneciton–SSH–Auth,在Private key file for authentication中,選擇剛才保存的私鑰路徑就可以了。
到此位置,Putty也可以不用密碼登錄了。
❹ 求助,linux中ssh-keygen生成的密碼放在那裡的
存放在~/.ssh下面,一個公鑰一個私鑰。
❺ 如何通過ssh遠程登錄linux系統
1、使用用戶名密碼登錄
在命令行中輸入命令:ssh username@ip_address -p port
之後系統會提示輸入密碼,輸入後即可登錄
如果不添加-p選項,則默認是22埠
還可以使用-l選項輸入用戶名:
ssh -l username ip_address -p port
2、使用密鑰登錄(不使用密碼)
首先生成密鑰,在任意目錄下輸入命令:
ssh-keygen -t rsa -P ''
-P表示密碼,-P ''表示空密碼
之後系統會提示輸入生成的密鑰文件的文件名,可以輸入任意名稱,比如id_rsa,回車
系統會在當前目錄下生成id_rsa與id_rsa.pub兩個文件
在根目錄下新建.ssh文件夾,將生成的密鑰文件拷貝過去
mkdir -p ~/.ssh
-p選項表示如果文件夾已經存在則不再新建。
然後將之前生成的兩個文件都拷貝到.ssh文件夾中
cp id_rsa* ~/.ssh/
把公鑰文件id_rsa.pub拷貝到需要登錄的伺服器上
用scp命令
scp -P port ~/.ssh/id_rsa.pub username@ip_address:~
-P表示要登錄伺服器的埠好,不加默認為22。
之後系統會提示輸入密碼,輸入即可完成拷貝
登錄遠程伺服器,在用戶根目錄下新建.ssh文件夾(如果不存在),在其中新建authorized_keys文件(如果不存在),把id_rsa.pub添加到authorized_keys文件中
mkdir -p ~/.ssh
這是在遠程伺服器上新建ssh文件夾
cat id_rsa.pub >> .ssh/authorized_keys
將id_rsa.pub文件添加到authorized_keys文件中(如文件不存在則新建)
注意:要保證.ssh與authorized_keys用戶自己都有寫許可權
退出當前遠程登錄,之後就可以不使用密碼遠程登錄了
❻ 如何使用SSH密鑰方式登錄Linux
我們一般使用 PuTTY 等 SSH 客戶端來遠程管理 Linux 伺服器。但是,一般的密碼方式登錄,容易有密碼被暴力破解的問題。所以,一般我們會將 SSH 的埠設置為默認的 22 以外的埠,或者禁用 root 賬戶登錄。其實,有一個更好的辦法來保證安全,而且讓你可以放心地用 root 賬戶從遠程登錄——那就是通過密鑰方式登錄。
密鑰形式登錄的原理是:利用密鑰生成器製作一對密鑰——一隻公鑰和一隻私鑰。將公鑰添加到伺服器的某個賬戶上,然後在客戶端利用私鑰即可完成認證並登錄。這樣一來,沒有私鑰,任何人都無法通過 SSH 暴力破解你的密碼來遠程登錄到系統。此外,如果將公鑰復制到其他賬戶甚至主機,利用私鑰也可以登錄。
下面來講解如何在 Linux 伺服器上製作密鑰對,將公鑰添加給賬戶,設置 SSH,最後通過客戶端登錄。
1. 製作密鑰對
首先在伺服器上製作密鑰對。首先用密碼登錄到你打算使用密鑰登錄的賬戶,然後執行以下命令:
[root@host ~]$ ssh-keygen <== 建立密鑰對
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 輸入密鑰鎖碼,或直接按 Enter 留空
Enter same passphrase again: <== 再輸入一遍密鑰鎖碼
Your identification has been saved in /root/.ssh/id_rsa. <== 私鑰
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公鑰
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
密鑰鎖碼在使用私鑰時必須輸入,這樣就可以保護私鑰不被盜用。當然,也可以留空,實現無密碼登錄。
現在,在 root 用戶的家目錄中生成了一個 .ssh 的隱藏目錄,內含兩個密鑰文件。id_rsa 為私鑰,id_rsa.pub 為公鑰。
2. 在伺服器上安裝公鑰
鍵入以下命令,在伺服器上安裝公鑰:
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
如此便完成了公鑰的安裝。為了確保連接成功,請保證以下文件許可權正確:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh
3. 設置 SSH,打開密鑰登錄功能
編輯 /etc/ssh/sshd_config 文件,進行如下設置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,請留意 root 用戶能否通過 SSH 登錄:
PermitRootLogin yes
當你完成全部設置,並以密鑰方式登錄成功後,再禁用密碼登錄:
PasswordAuthentication no
最後,重啟 SSH 服務:
[root@host .ssh]$ service sshd restart
4. 將私鑰下載到客戶端,然後轉換為 PuTTY 能使用的格式
使用 WinSCP、SFTP 等工具將私鑰文件 id_rsa 下載到客戶端機器上。然後打開 PuTTYGen,單擊 Actions 中的 Load 按鈕,載入你剛才下載到的私鑰文件。如果你剛才設置了密鑰鎖碼,這時則需要輸入。
載入成功後,PuTTYGen 會顯示密鑰相關的信息。在 Key comment 中鍵入對密鑰的說明信息,然後單擊 Save private key 按鈕即可將私鑰文件存放為 PuTTY 能使用的格式。
今後,當你使用 PuTTY 登錄時,可以在左側的 Connection -> SSH -> Auth 中的 Private key file for authentication: 處選擇你的私鑰文件,然後即可登錄了,過程中只需輸入密鑰鎖碼即可。
❼ linux不用ssh-keygen生成密鑰可以使用ssh服務嗎
請使用gnupg(命令為gpg),我干過這種事,如果覺得字元界面不方便的話,可以安裝一些圖形前端,比如kde下的kgpg或者kleopatra,不但可以加密字元串,而且可以加密二進制數據
ssh-keygen生成出來的密鑰只能用來「驗證」
而你需要的是「加密」
補充回答:
gpg絕對可以,我曾經用gpg加密過4.5G的DVD iso,不過,正如你知道的那樣,公鑰體制速度是巨慢的。
假設你已經創建了密鑰對名稱為abc, 要加密M07A0bpp-Duke.pdf
gpg -e -r abc M07A0bpp-Duke.pdf
將得到的M07A0bpp-Duke.pdf.gpg發送即可
當abc解密時,輸入以下命令即可
gpg -u abc M07A0bpp-Duke.pdf.gpg