要實現ssh自動登入,
主要有三種方法:
1、生成公私鑰。
2、編寫expect指令碼。
3、用sshpass。
用法:
sshpass 引數 ssh命令(ssh,sftp,scp等)。
引數:
-p password //將引數password作為密碼。
-f passwordfile //提取檔案passwordfile的第一行作為密碼。
-e //將環境變數sshpass作為密碼。
比如說:
scp [email protected]:/home/***/test /root 這個命令的作用是將伺服器端檔案test傳到本地資料夾/root下。
利用sshpass,假設密碼為efghi,則可寫作:
ssh -p efghi scp [email protected]:/home/***/test /root
1.可以在ssh命令後面加上 -o stricthostkeychecking=no來解決。比如說上面的命令,就可以寫作ssh -p efghi scp [email protected]:/home/***/test /root -o stricthostkeychecking=no。
2.或者寫入配置檔案:把 stricthostkeychecking no 加到/etc/ssh/ssh
config 可以讓ssh客戶端自動接受新主機的hostkey,不用每次都自己輸入yes
交叉編譯arm版本,
在sshpass目錄執行:
./configure
./make cc=arm-linux-gcc
自動傳檔案:
./sshpass -p 111111 ./scp -s ./ssh -o stricthostkeychecking=no -r ./test.file
sshpass依賴pts,若pst沒有載入,則執行
bash**
mknod -m 666 /dev/ptmx c 5
2#chmod 666 /dev/ptmx
mkdir /dev/pts
none /dev/pts devpts gid=5,mode=62000
mount /dev/pts
shell實現SSH自動登陸
公司開發使用docker,每次登陸自己開發機總要輸入ssh user name ip string,然後再確認輸入password,手快了還經常會輸錯。作為乙個懶人,肯定要找乙個取巧的方式,檢視了下ssh命令,由於它要進行一次跟伺服器的加密互動,所以沒有直接附帶密碼登陸的選項,只好作罷。前些天在同事...
shell實現SSH自動登陸
公司開發使用docker,每次登陸自己開發機總要輸入ssh user name ip string,然後再確認輸入password,手快了還經常會輸錯。作為乙個懶人,肯定要找乙個取巧的方式,檢視了下ssh命令,由於它要進行一次跟伺服器的加密互動,所以沒有直接附帶密碼登陸的選項,只好作罷。前些天在同事...
shell實現SSH自動登陸
前些天在同事進行技術分享時,看到他竟然只輸入了一行命令.test.sh就成功登陸了開發機,甚是驚異,於是回來搜尋研究了一下,遂成此文。在編寫ssh自動登陸指令碼之前,先說一下shell指令碼的基礎,此基礎不是一些語法什麼的,網上到處都是,這裡總結了一下shell指令碼的執行機制 首先要說一下shel...