【Linux】修改 ssh config 取主機暱稱 | 透過 ssh authorized_keys 公私鑰,達成 ssh 免密碼登入

➣ Reading Time: 7 minutes

前言

當要登入的電腦越來越多,
有時候就會有想要給主機取代稱的需求,
這篇我們主要講

  • 替主機取匿名
  • 透過 ssh authorized_keys 公私鑰,達成免密碼登入

這篇文的前一篇文章,有講到重複的 ssh authorized_keys 概念,可參考:

【VScode】透過建立 ssh authorized_keys 讓 VScode 繞過輸入 ssh 密碼 or 達成 ssh 免密碼登入

ssh authorized_keys 介紹

這裡只簡單介紹概念,
在密碼學裡面,我們經常使用一組公鑰搭配私鑰的方式來進行配對驗證密碼。

這裡我們就要進行這樣的操作,比喻來說
公鑰就是可以給別人的 (類似鎖頭),
私鑰我們要自己留著 (類似鑰匙)。

當公鑰與私鑰配對時,就可以解開密碼鎖。 (這觀念不完全正確,但可以簡易理解我們大概在幹嘛)

本地端,處理 local (client) 的私鑰

主要我們要產生公鑰與私鑰。記得,公鑰我們等等要給遠端拿著。

ssh-keygen

預設應該會將檔案產生在 ~/.ssh 底下,
檔名預設為 id_rsa,而 id_rsa.pub 為公鑰

我們打開 id_rsa.pub ,應該會看到一串 ssh-rsa 開頭的東西,
我們複製整段內容。

遠端,remote (server) 放上我們的公鑰

複製剛剛上面我們所說的 ssh-rsa 開頭的文字,
貼在遠端的 ~/.ssh/authorized_keys 的最後面,
(如果沒有這個檔案的話,請自己新建一個)

可能會用到的提示指令 (將內容加至檔案後面)

echo "public_key_string" >> ~/.ssh/authorized_keys

ssh config 設定

同樣的設定我們也可以直接更改 ~/.ssh/config 的設定檔,
我們也可以透過 VScode 設定的路徑,直接修改這個設定檔。

( IdentityFile 指的是 local 私鑰的位置,當我們要管理多組公鑰私鑰時,
可以修改這個來管理。)

  • 我們可以從 VScode ssh remote 那邊打開 ~/.ssh/config 的設定檔

或是直接編輯

vim  ~/.ssh/config 

修改以下內容:

Host 192.168.0.1
  HostName 192.168.0.1
  User ubuntu
  IdentityFile ~/.ssh/id_rsa

進階:取主機暱稱

剛剛上面我們已經完成的內容,我們可以快速地與遠端主機建立連線,
但這樣還不夠方便,當我們如果有很多主機要管理的時候,
就會碰到不夠方便的情況 (要一直瘋狂的記憶 ip)。

但當然有方便管理的方式,
我們可以替主機取我們自己想要的暱稱,
這樣我們就可以快速連線了!

修改也十分簡單,照上面的內容,我們可以修改成:

Host myremote
  HostName 192.168.0.1
  User ubuntu
  IdentityFile ~/.ssh/id_rsa

這樣,我們以後只要輸入 ssh myremote,就可以快速地進行連線囉!

進階2:搭配 hostname 運用,看起來更俐落!

在我的另外一篇文章當中,有提到如何運用 hostname 進行遠端主機連線,

【Linux】在 terminal 中尋找 username, hostname 作為 ssh 連線的方式 (以連線到 raspberrypi 為例)

搭配上述的概念,我們就可以把 ssh config 修改成:

Host myremote
  HostName <hostname>
  User <username>
  IdentityFile ~/.ssh/id_rsa

這樣就可以輕鬆地進行 ssh 連線囉!

Reference

⭐文字(程式碼) 編輯器 相關文章整理⭐:
⭐VScode 相關文章整理⭐:
1.【VScode】VScode實用快速鍵總整理
2.【VScode】直接把 coding 的「視窗」搬回家,不要再用慢慢的遠端桌面了! VScode ssh 遠端辦公
⭐Sublime 文章連結整理⭐:
1.【Sublime】Sublime 實用快速鍵總整理
2.【Sublime】Python 縮排小技巧 (很爛但實用) 快速將 tab 改成「4格空白」的方法
3.【Sublime】Sublime 將縮排 “tab” 改成 4格空白 的方法 (圖文說明) sublime indent 4 spaces
4.【Sublime】在 sublime 啟動終端機, Sublime terminal – 圖文教學 安裝/解除安裝 terminus
⭐vim 相關文章整理⭐:
1.【Linux】linux/ubuntu/mac vim 的 新手/初學者 的基礎使用指令 與 個人常用功能總整理 (持續更新)
⭐【喜歡我的文章嗎? 歡迎幫我按讚~ 讓基金會請創作者喝一杯咖啡!
如果喜歡我的文章,請幫我在下方【按五下Like】 (Google, Facebook 免註冊),會由 「LikeCoin」 贊助作者鼓勵繼續創作,讀者們「只需幫忙按讚,完全不用出錢」哦!

likecoin-steps
Howard Weng
Howard Weng

我是 Howard Weng,很多人叫我嗡嗡。這個網站放了我的各種筆記。希望這些筆記也能順便幫助到有需要的人們!如果文章有幫助到你的話,歡迎幫我點讚哦!

文章: 693

1 則留言

★留個言吧!內容有誤或想要補充也歡迎與我討論!