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 username@hostname’” >> ~/.zshrc #將username和hostname替換爲你的服務器信息
source ~/.zshrc #重新加載更改後的zshrc文件
ssh-to-username #使用別名,一條命令即可登錄你的ssh服務器

參考:
http://blog.csdn.net/ofengyajie/article/details/17840751
http://www.linuxidc.com/Linux/2015-12/126649.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章