Mac 如何連接遠程服務器
iTerm2可以以明文保存密碼,實作快速連接遠程服務器,但是,密碼最好不要暴露在明文里,我們可以借助更為通用的方法,
在Mac這樣的類UINX系統中,使用iTerm2這樣的終端工具(當然也可以使用Mac自帶的終端)連接遠程服務器,邏輯是比較通暢的,不需要像Win那樣使用XShell等ssh連接管理工具(當然這樣的工具也很方便hhh,我在Mac端使用了Termius,感覺尚可),
普通連接方法
如果正常在終端連接,SSH Client基本使用方法如下,隨后再輸入遠端服務器的密碼:
ssh user@remote -p port
- user 是遠程服務器上的用戶名,如果不指定,默認為本地機當前用戶
- remote是遠程服務器地址,可能是IP,域名等
- port是SSH Server監聽的埠,如果不指定,默認為22號埠
安裝OpenSSH Server
ssh user@remote -p port
ssh: connect to host remote port 22: Connection refused
如果出現上述訊息,說明在遠程機器上沒有安裝 SSH Server,特別地,如果遠程機器運行的是 Ubuntu Desktop 系統,那么默認是沒有安裝 SSH Server 的,如果有 sudo 權限的話,可以執行下面命令安裝:
sudo apt-get install openssh-server
免密登錄(劃重點)
免密登錄就是懶人要義!
接下來,我以local指代本地機,remote指代遠程機,手把手設定!
- 在local本地機中生成密鑰對:
ssh-keygen -t rsa -C 'youremail@example'
這里是參照微軟具體的闡述(可略過):
ssh-keygen \
-m PEM \
-t rsa \
-b 4096 \
-C "azureuser@myserver" \
-f ~/.ssh/mykeys/myprivatekey \
-N mypassphrase
ssh-keygen = 用于創建密鑰的程式
-m PEM = 將密鑰的格式設為 PEM
-t rsa = 要創建的密鑰型別,本例中為 RSA 格式
-b 4096 = 密鑰的位數,本例中為 4096
-C "azureuser@myserver" = 追加到公鑰檔案末尾以便于識別的注釋, 通常以電子郵件地址用作注釋,但也可以使用任何最適合你基礎結構的事物,
-f ~/.ssh/mykeys/myprivatekey = 私鑰檔案的檔案名(如果選擇不使用默認名稱), 追加了 .pub 的相應公鑰檔案在相同目錄中生成, 該目錄必須存在,
-N mypassphrase = 用于訪問私鑰檔案的其他密碼,
-
使用
ls ~/.ssh查看本地機local應該多了id_rsa.pub(公鑰)和id_rsa(私鑰,保密!)檔案, -
在本地機local上使用copy命令將公鑰上傳至remote遠程服務器上:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote
-
User 和 remote 參考上面的解釋,替換成自己的就好,
-
可進入remote遠程服務器上
.ssh目錄查看是否生成了authorized_keys檔案,如果傳輸正確,是會生成的,
? 此時就已經可以通過ssh user@remote -p port免密登錄遠端機了!
- 不過這樣還是有點麻煩,可以再簡化一下,比如連實驗室服務器,輸入
ssh lab就可以,那就要在本地機local~/.ssh/config檔案中追加內容,如沒有該檔案,創建它!
#檔案追加資訊
Host lab
HostName remote
User user
IdentityFile ~/.ssh/id_rsa #此行可省略
# 配置說明
Host 別名
HostName 主機名(host 或 ip)
Port 埠
User 用戶名
IdentityFile rsa私鑰檔案的路徑
這樣就可以用ssh lab實作遠程登錄了!
無用之用
既然談到Mac上的iTerm2配置,就稍微提一下它可以起到的功能,
比如說你有很多個配置了別名的服務器,害怕以后會忘掉,就點擊iTerm2的Profiles,紅框處可以修改名稱(Name),快捷鍵(Shortcut key)和命令(Command),會更方便一點,

最后,如果還想了解更多SSH基本用法,可以移步SSH 基本用法,大佬講得更為全面,就是這樣~
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/538098.html
標籤:Linux
