1:通過ssh公鑰進行秘鑰認證,將本機與遠端主機建立信任關係。
2:通過expect
#!/usr/bin/expect -f
spawn scp test.sh username@host:/home/username/
expect "*password"
send "password\r"
expect eof
3:通過sshpass
密碼儲存在檔案第一行:sshpass -fpassfile ssh -o stricthostkeychecking=no username@host.
指令碼輸入密碼:sshpass -ppassword ssh -o stricthostkeychecking=no username@host
密碼設定在環境變數:sshpass -e ssh -o stricthostkeychecking=no username@host
4:對於需要root許可權執行的指令碼,可以在/etc/sudoers中將對應的使用者設定為
username all=(all) nopasswd:all
5:ssh -t username@machine command.可以與遠端互動
ssh免輸入密碼登入
場景 伺服器a 採用ssh 登入伺服器b,沒有任何特殊設定情況下,採用ssh host.b 會出現提示password 讓輸入密碼。如何可以不手工輸入密碼?解決方案 這裡 t dsa表示採用dsa加密方式,回車後會讓你輸入私鑰,最後在.ssh目錄下生成兩個檔案id dsa和id dsa.pub,分別...
ssh免密碼登陸,sudo免輸入密碼方法
幾台linux伺服器之間經常相互ssh和scp,每次都手動輸入密碼比較麻煩。經過網上查詢,打算使用ssh公鑰金鑰方式。首先在本機上生成ssh公鑰金鑰,最好的命令是 ssh keygen t rsa p f ssh id rsa q 使用這個命令不需要按回車,如果不加f選項,要多按一次回車來選擇存放位...
ssh非互動式密碼輸入
ssh登陸不能在命令列中指定密碼。sshpass的出現,解決了這一問題。sshpass用於非互動ssh的密碼驗證,一般用在sh指令碼中,無須再次輸入密碼。它允許你用 p 引數指定明文密碼,然後直接登入遠端伺服器,它支援密碼從命令列 檔案 環境變數中讀取。其預設沒有安裝,需要手動安裝,方法如下 tar...