Mac使用ssh公鑰免密登入Linux

2021-10-02 13:52:03 字數 1954 閱讀 2709

ssh登入linux通常有兩種方法:使用者名稱密碼登入、使用者名稱公鑰登入;

使用使用者名稱密碼登入每次都要輸入密碼,相當麻煩,而使用使用者名稱公鑰登入則可以避免這個問題

開啟本地終端,執行 ssh-keygen 命令建立金鑰對:

ssh-keygen -t rsa -c  'your email@***.com'

-t 指定金鑰型別,預設即 rsa ,可以省略

-c 設定注釋文字,比如你的郵箱,可以省略

生成過程中會提示輸入密碼兩次,如果不想在使用公鑰的時候輸入密碼,可以回車跳過;

金鑰預設儲存位置在 ~/.ssh 目錄下,開啟後會看到私鑰檔案 id_rsa 和公鑰檔案 id_rsa.pub;

使用 scp 命令將本地的公鑰檔案 id_rsa.pub 複製到需要連線的linux伺服器:

scp ~/.ssh/id_rsa.pub 使用者名稱@ip:/home/id_rsa.pub

#如果修改了ssh預設連線埠的話,需要加上埠資訊:

scp -p 埠號 ~/.ssh/id_rsa.pub 使用者名稱@ip:/home/id_rsa.pub

登入伺服器,把公鑰追加到伺服器ssh認證檔案中:

這時候在本地終端中使用使用者名稱和ip登入就不需要密碼了:

ssh 使用者名稱@ip

#如果修改了ssh預設連線埠的話,需要加上埠資訊:

ssh -p 埠

使用者@

但是,每次仍然需要輸入ssh 使用者名稱@ip,仍算不上最優的解決方案,要是能實現一鍵登入或一條命令登入最好不過了,下面來看看都有那些解決方法:

如果你本地終端使用的是zsh,直接給zsh新增一條別名

echo

"alias ssh-to-username='ssh 使用者名稱@ip'"

>> ~/.zshrc #將username和hostname替換為你的伺服器資訊

ssh-to-username #使用別名,一條命令即可登入你的ssh伺服器

ssh本身也提供了解決這個問題的方式,在本地~/.ssh/config(若沒有該檔案,直接新建即可)配置檔案中新增ssh伺服器資訊,格式:

host            name            #自定義別名

hostname ip #替換為你的ssh伺服器ip或domain

port 22 #ssh伺服器端口,預設為22

user root #ssh伺服器使用者名稱

identityfile ~/.ssh/id_rsa #第乙個步驟生成的公鑰檔案對應的私鑰檔案

若有多個ssh賬號需要配置,只要在~/.ssh/config空一行再寫即可

如果你本地終端使用的是iterm2還可以新增profile實現一鍵登入,具體步驟此處略過

SSH 公鑰免密登入

在登入遠端linux主機時,為了避免輸入密碼,可以將本地ssh公鑰上傳到遠端linux主機上,進行一些配置,達到免密登入的效果。ssh keygen t rsa c ssh keygen t rsa c 163.com rsa rsa加密windows下,先安裝git,然後再git終端中輸入上述命令...

Mac使用ssh公鑰免密登入伺服器

每次登陸伺服器都要輸入密碼,重複無用的操作讓人心生厭煩。懶人是推動社會進步的動力 我的宗旨就是能自動的就不要手動。下面就像大家介紹我是如何打造無密碼登入伺服器 相信使用過git的朋友對這一部分應該不會陌生,git的公私鑰配置也是這樣在本地生成的,這裡就不贅述了。vim ssh config 增加 t...

linux新增ssh公鑰免密登入

比如我的電腦是my,我想免密碼登入remote 在my的機器生成乙個rsa公鑰 在remote的 ssh authorized keys檔案中新增my的rsa公鑰 在my上使用ssh登入remote,測試是否新增成功 在本機上生成rsa金鑰對 ssh keygen t rsa一路回車後就會在 ssh...