在linux中經常要用ssh登陸,感覺很麻煩。我已經為這件事件折騰過好幾次啦。這次准備總結一下
1、使用ssh公鑰免密登陸
命令使用:
ssh-keygen -t rsa #不管中途遇到啥提示,直接回車
cd ~/.ssh
cp id_rsa.pub authorized_keys
scp authorized_keys username@host:~/.ssh/
之后再使用ssh username@host 就可以不用輸入密碼直接登陸服務器啦。
但是有時候,我不怎么想把自己的公鑰到處傳,雖然它本來就是用來到處傳的。那么我要怎么辦呢?來看第二種方法吧
2、使用sshpass命令
使用這個命令還需要自己額外安裝。不同的系統請自行搜索安裝方式吧。
安裝好之后,以下命令就可以帶上密碼的。簡單吧!有它就不用到處傳公鑰了。
這個方式惟一的缺點就是無處不在的牆,有時候安裝得真的慢。
sshpass -p password username@host
找到自己的文檔,來安裝sshpass居然遇到了問題,把安裝方式也加到這里了。
mac安裝sshpass:
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
安裝完之后,發現自己還是沒法按上面的命令正常使用sshpass,簡直了。
一運行就提示:sshpass: Failed to run command: No such file or directory
按以下方式運行就可以了:
sshpass -p password ssh user@host
3、mac上的expect
這個方式僅做記錄,因為它不但裝的東西多,還要寫腳本。簡直麻煩。
有興趣的小伙伴自己看這個博客吧。