Ubuntu設置ssh key登錄


很多人可能都遇到過這樣的場景,每次遠程ssh登錄服務器都需要輸入一次密碼,既不安全又麻煩,讓我們來一起看看如何使用公鑰私鑰避免輸入密碼登錄吧。

歡迎到我的博客網站查看整理版本

Step1 本地生成密鑰

打開Terminal,輸入指令ssh-keygen,會詢問你文件名,自己起一個名字,然後讓你設置passphrase,這個是在密鑰的基礎上多加一重保障(設置了之後,本地使用私鑰ssh登錄,會要求先輸入這個密碼),爲了方便,我們不設置這個(留空就好)
在這裏插入圖片描述

當前文件夾會生成test(私鑰)和test.pub(公鑰)兩個文件

Step2 上傳公鑰文件

下一步上傳並設置公鑰文件(利用copy-ssh-id這個工具,很多操作系統都默認安裝了)

ssh-copy-id -i identity_file username@remote_host

這裏的identity_file就是你在Step1裏面生成的公鑰文件(注意是公鑰!!!)

成功之後,打開服務器,進到ssh路徑下(cd ~/.ssh),你會發現有一個authorized_keys文件,查看該文件,你會發現就是你本地的公鑰文件(.pub)

Step3 利用密鑰ssh登錄

設置好密鑰之後,下次就可以直接用

ssh -i identify_file username@remote_host

登錄你的服務器了,這裏的identify_file是你在Step1裏面生成的私鑰文件(注意和ssh-copy-id不一樣)

爲了方便,你還可以將這個命令保存到.bashrc(或.zshrc)等系統配置文件裏面,利用alias指令,這樣以後你就可以用connect代替那一長條指令了。

alias connect='ssh -i identify_file username@remote_host'
發佈了35 篇原創文章 · 獲贊 25 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章