【Mac】小技巧:實現ssh服務器別名免密登錄


前言

我們平常使用ssh user@host然后輸入密碼的方式來遠程鏈接一個服務器,但是,如果要管理的服務器太多,記住這些服務器的IP和用戶名、密碼就是一個復雜的工作。當然,我們可以把這些信息用文檔記錄下來,然后一個個的復制粘貼。

那么難道就沒有更簡便的方法嗎?答案肯定是有的,讓我們先來看看效果:

bingo@Mac ~$ ssh k8s  
Last login: Sun Sep 30 10:12:32 2018 from 10.0.*.*  
[root@test173vm1@docker ~]# 

如上所示,直接ssh ️k8s就完成了登陸k8s服務器的操作。下面我們來介紹怎么進行配置。

給服務器配置別名

配置

配置別名(alias)的過程比較簡單,在~/.ssh/config這個文件(如果目錄下沒有這個文件,可以新建一個)接着按下面格式添加服務器信息:

# 服務器1
Host 別名
    HostName IP地址
    Port 22
    User 用戶名
# 服務器2
Host 別名
    HostName IP地址
    Port 22
    User 用戶名
...
# 更多服務器

測試

信息添加保存后,不用做其他任何操作,就可以直接在終端使用了,比如前文演示的命令:

ssh k8s

但是這一步只是省去了記憶IP的過程,要想登陸服務器還是要輸入密碼的:

我們接着來介紹配置免密登陸的方法。

配置免密登陸

我們都知道Mac的終端沒有保存密碼的功能,但是可以使用Linux通用的方法來配置免密登陸。

假設我們現在有兩台機器:

  • 機器A:我們平常使用的主機
  • 機器B:我們想要遠程鏈接的機器

生成密匙

首先我們在機器A上面執行下面的命令來生成密匙:

ssh-keygen -t rsa

如果沒有特殊配置,一路回車之后會此命令會在用戶~/.ssh/目錄下生成兩個文件:id_rsa || id_rsa.pub前者是私鑰,后者是公鑰。可以這么來理解這兩個文件, id_rsa.pub 是一把鎖,id_rsa是這把鎖的鑰匙,我們可以把這把鎖給別人用,但是只有掌握鑰匙的我們才能打開這把鎖。關於RSA更多內容大家可以自行搜索。

配置密匙

說到這里,可能很多人已經猜到了,我們接下來要做的就是id_rsa.pub里面的內容添加到 機器B 的~/.ssh/目錄下的authorized_keys(如果沒有這個文件我們可以創建一個)。

在機器B添加這個文件就像是在它上面給我們開了一扇用id_rsa.pub鎖上的小門,而我們拿着鑰匙id_rsa可以開鎖。

完成上面這一步之后我們就實現了ssh 別名來登陸某台服務器了。是不是很簡單?快點試試吧!

上面的這些配置在每一個Linux系統中基本都可以完成。

總結

  • RSA
  • ssh-keygen
  • ~/.ssh

參考資料:
https://www.jianshu.com/p/13545fd41849
https://blog.csdn.net/ljfrocky/article/details/46280455
https://baike.baidu.com/item/RSA算法/263310?fromtitle=RSA&fromid=210678&fr=aladdin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM