mac上替代xshell和xftp的工具以及如何免密登陸伺服器

PsChina發表於2018-11-22

mac如何連結伺服器

windows 上如果要連結伺服器可以通過 xshell 和它附帶的 xftp 來很方便的連結,最近域名備案通過了,也用上了 mac 如何像 windows 那樣方便的操作伺服器是我要解決的第一個問題。

起先在 App Store 上搜了個免費的工具雖然能用ssh連上但發現沒有ftp的功能,後來知道了 mac 的終端自帶連結伺服器的功能:

ssh 使用者名稱@ip -port
複製程式碼

既然 mac 自帶那也就沒必要浪費 mac 金貴的磁碟空間了,果斷刪掉剛下的免費軟體。

用什麼代替xftp

ftp 的功能我目前用的是 ForkLift 體驗不比 xftp 差,而且還是在 App Store 上直接下載的免費軟體。

這讓一來我的電腦能正常操作伺服器了,但是總感覺哪裡有點不對----每次都要輸入密碼以及要記住伺服器 ip 地址。

在網上搜了下發現 mac 又一個前往伺服器功能可以儲存伺服器 ip 但是使用者名稱又是預設的 mac 使用者名稱和我的阿里雲伺服器對不上,真是醉了,折騰好久之後找到了一個終極解決方案---免密登陸。

超越 xshell 的免密登陸

之前只用過 ssh 連結 git 沒想到還能用來連結伺服器

好了廢話不多說直接上操作步驟

1 生成 id_rsa.pub

ssh-keygen -t rsa -C "yourEmail"
複製程式碼

這個命令會生成公鑰和私鑰我們需要把公鑰( id_rsa.pub )弄到伺服器的 ~/.ssh/authorized_keys 檔案內.

cd ~/.ssh

vi id_rsa.pub
複製程式碼

複製一下。

2 登陸伺服器

command+空格+z+回車 撥出終端

ssh root@xxx.xxx.xxx.xxx

輸入密碼登陸成功

cd ~/.ssh

vi authorized_keys #沒有這個檔案的話先用 touch authorized_keys 建立再,執行這條命令。
複製程式碼

將輸入法調為美式鍵盤

o 鍵進入編輯狀態-貼上

按下 esc

shift + ; 輸入:

然後接著輸入 wq

(:wq)儲存並退出編輯狀態

最後一步使用ssh進行驗證和伺服器別名

開啟本機終端

cd ~/.ssh

touch config # 已經存在的話直接用 vi 編輯

vi config
複製程式碼

語法如下

Host *
  UseKeychain yes
Host serverAlias
  HostName xxx.xxx.xxx.xxx
  User userName
複製程式碼

例如

Host *
  UseKeychain yes
Host server1
  HostName 148.157.254.111
  User root
  
Host server2
  HostName 148.157.254.112
  User root
複製程式碼

大功告成

下次要登陸伺服器只需

ssh server1
複製程式碼

可能要用到命令:

vi: 在 liunx 命令列 和 mac 終端以及 gitbash 中可以使用,作用是檢視可編輯檔案

touch:在 liunx 命令列 和 mac 終端以及 gitbash 中可以使用,作用是新建空檔案

cd:進入一個具體的目錄 例如 cd ~ 就是進入根目錄。 ../ 上級目錄 ./file 同級目錄的file資料夾

ls:檢視當前目錄下的檔案和資料夾

pwd:檢視當前目錄

連結:

shell命令

ssh百度百科

相關文章