您好,登錄后才能下訂單哦!
在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命令提示輸入密碼,則意味著你的設置沒有正確配置,請重試所有步驟。
看完上述內容,你們掌握設置ssh密鑰的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。