要實現ssh自動登錄,
主要有三種方法:
1、生成公私鑰。
2、編寫expect腳本。
3、用sshpass。
用法: sshpass 參數 SSH命令(ssh,sftp,scp等)。 參數: -p password //將參數password作爲密碼。 -f passwordfile //提取文件passwordfile的第一行作爲密碼。 -e //將環境變量SSHPASS作爲密碼。 比如說: scp [email protected]:/home/xxx/test /root 這個命令的作用是將服務器端文件test傳到本地文件夾/root下。 利用sshpass,假設密碼爲efghi,則可寫作: ssh -p efghi scp [email protected]:/home/xxx/test /root 另外,對於ssh的第一次登陸,會提示:“Are you sure you want to continue connecting (yes/no)”,這時用sshpass會不好使,解決方法: 1.可以在ssh命令後面加上 -o StrictHostKeyChecking=no來解決。比如說上面的命令,就可以寫作ssh -p efghi scp [email protected]:/home/xxx/test /root -o StrictHostKeyChecking=no。
2.或者寫入配置文件:把 StrictHostKeyChecking no 加到/etc/ssh/sshconfig 可以讓ssh客戶端自動接受新主機的hostkey,不用每次都自己輸入yes
交叉編譯arm版本,
在sshpass目錄執行:
./configure
./make CC=arm-linux-gcc
自動傳文件:
./sshpass -p 111111 ./scp -S ./ssh -o StrictHostKeyChecking=no -r ./test.file [email protected]:./
sshpass依賴pts,若pst沒有加載,則執行 Bash代碼
|
實現ssh自動登陸的三種方式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.