1. 程式人生 > >Mac Item2 SSH免密登入Linux 伺服器的兩種方式

Mac Item2 SSH免密登入Linux 伺服器的兩種方式

mac ssh登入linux伺服器 的兩種方式:
個人推薦第二種,zsh方式,只需要把公鑰copy到目標伺服器,設定別名就可以全用,方便快捷。
一、 使用item2的profiles 和expect指令碼
配置步驟:
1. 寫一個expect指令碼

#!/usr/bin/expect  

set timeout 30  
spawn ssh [lindex $argv 0]@[lindex $argv 1]  
expect {  
        "(yes/no)?"  
        {send "yes\n";exp_continue}  
        "password:"
{send "[lindex $argv 2]\n"} } interact

可以命名為login.exp
可以看出些指令碼需要三個引數:伺服器使用者名稱,伺服器地址 ,密碼
即你直接用ssh命令登入時的 ssh 使用者名稱@伺服器地址 -P密碼
2. 把這個指令碼放到$PATH 下,一般像/usr/local/bin/, /usr/bin下等,建議放/usr/local/bin,你也可以echo $PATH看一下.
注意:新的Mac os 可能對這些目錄限制比較嚴格,有可能需要sudo 才能成功
最後用chmod 讓檔案變成可執行檔案
3. 開啟item2用command+o的方式撥出profiles,點選右下角的Edit Profiles
4.配置profile,如下圖:
這裡寫圖片描述


(圖片來自網路,侵刪)
如上圖配好後,command+o 開啟的profile列表裡雙擊即可完成登入。

二、 利用公鑰認證登入

1、 在本地機器建立公鑰,一路回車即可

ssh-keygen -t rsa

2、將公鑰複製到ssh伺服器
將上一步生成的id_rsa.pub公鑰檔案複製到目標伺服器對應使用者下的~/.ssh/authorized_keys 檔案
可以手動複製,也可以利用ssh-copy-id工具複製,這裡就說下手動複製,就一行內容,不值得裝個工具了,需要的請自行百度谷歌。

如果伺服器上沒有authorized_keys 這個檔案,直接建立即可,如果有,則把id_rsa.pub 這個檔案裡的內容copy 追加到後面即可。

3、 配置快捷登入
在自己的mac上的 ~/.ssh/config配置檔案新增你的ssh伺服器資訊,若沒有就新建,有就在後面追回,格式:

Host            alias #自定義別名
HostName        hostname  #替換為你的ssh伺服器ip或domain
Port            port #ssh伺服器埠,預設為22
User            user #ssh伺服器使用者名稱
IdentityFile    ~/.ssh/id_rsa #第一個步驟生成的公鑰檔案對應的私鑰檔案

儲存關閉,ssh alias 就可以登入你要登的伺服器了

如果你本地終端使用的是zsh,那就更太簡單了,不需修改config, 直接在.zshrc檔案裡新增即可
echo “alias ssh-to-username=’ssh [email protected]’” >> ~/.zshrc #將username和hostname替換為你的伺服器資訊
source ~/.zshrc #重新載入更改後的zshrc檔案
ssh-to-username #使用別名,一條命令即可登入你的ssh伺服器

相關推薦

no