首頁  >  文章  >  運維  >  如何在Linux上設定SSH密碼以進行無密碼登入

如何在Linux上設定SSH密碼以進行無密碼登入

不言
不言原創
2019-03-14 14:34:503851瀏覽

本篇文章將介紹關於在Linux系統上設定ssh金鑰。在使用ssh金鑰對的Linux系統中,我們也可以說它是無密碼的ssh。

如何在Linux上設定SSH密碼以進行無密碼登入

ssh(secure shell)廣泛用於遠端登入Linux伺服器。當我們使用ssh登入遠端系統時,它會提示輸入密碼,然後只允許我們登入伺服器。有時我們需要設定應用程式或腳本(主要是shell腳本),以便在對遠端系統執行ssh之後自動化要執行的任務。但是,如果我們沒有配置基於密鑰的ssh,腳本將在每次運行時提示輸入密碼,這時我們需要手動輸入密碼。為了解決這個問題,我們可以選擇使用公鑰/私鑰概念。其中遠端伺服器允許其他系統基於密鑰進行ssh。

步驟1:產生ssh金鑰對

#首先,需要產生一個金鑰對(rsa或dsa),可以使用「- t”命令列開關指定選項rsa或dsa密鑰。如果不傳遞-t參數,它將預設建立RSA金鑰。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rahul/.ssh/id_rsa):
Created directory '/home/rahul/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rahul/.ssh/id_rsa.
Your public key has been saved in /home/rahul/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:GZQ3tJffEUimdMZHIG3LcpvdkOaogwXBtWeaM2ejzYY rahul@tecadmin
The key's randomart image is:
+---[RSA 2048]----+
|       ..+oo+*+o |
|       .+ +o** ..|
|        .oooB oo |
|        .o B =+..|
|        S.= *+=.o|
|          .X.+...|
|         oE.+    |
|        . o.     |
|           .     |
+----[SHA256]-----+

上面的命令將在〜/ .ssh目錄中建立兩個文件,如下所示。

1、〜/ .ssh / id_rsa [私鑰]

2、〜/ .ssh / id_rsa.pub [公鑰]

步驟2:將公鑰複製到遠端系統

讓我們將系統的公鑰複製到遠端系統〜/ .ssh / authorized_key的金鑰檔案中。我們可以手動或使用ssh-copy-id命令列工具執行此操作。

$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.10.20

輸出:

21
root@192.168.10.20's password:
Now try logging into the machine, with "ssh '192.168.10.20'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

它將提示輸入遠端系統的密碼。輸入遠端機器密碼並按Enter。

步驟3:驗證沒有密碼的SSH

現在我們已經完成了所有工作,只需嘗試對遠端系統進行ssh。你將在不輸入密碼的情況下登入遠端系統。

$ ssh root@192.168.10.20

上面的指令不會提示輸入登入密碼。在任何情況下,如果ssh指令提示輸入密碼,表示你的設定沒有正確配置,請重試所有步驟。

這篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注php中文網的其他相關欄位教學! ! !

以上是如何在Linux上設定SSH密碼以進行無密碼登入的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn