簡體   English   中英

如何啟動SSH_ASKPASS的Linux子外殼以在Linux中工作

[英]how to launch linux subshell for SSH_ASKPASS to work in linux

我正在嘗試創建一個bash腳本來執行帶有SSH_ASKPASS和DISPLAY變量的無密碼ssh命令。 在我的bash腳本中,我在命令之前和之后添加了括號,以在新的子Shell中啟動它。 該腳本在新的shell中啟動(獲取新的PID),但仍附加了TTY。 據我了解,要使SSH_ASKPASS正常工作,不應該附加TTY。 請讓我知道是否有人對此有解決方案。 我只想用shell / bash腳本來做。

#!/bin/bash
SSH_ASKPASS=/tmp/abc
DISPLAY=localhost:0.0
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 10.10.10.10 -lroot /bin/ls

/ tmp / abc僅包含密碼

當我執行腳本時,它會要求輸入密碼。

感謝高級。

“強制ssh始終使用SSH_ASKPASS”的啟發:您需要分離終端。 嘗試使用setsid

#!/bin/bash
SSH_ASKPASS=/tmp/abc
DISPLAY=localhost:0.0
setsid ssh -o StrictHostKeyChecking=no \
           -o UserKnownHostsFile=/dev/null 10.10.10.10 -lroot /bin/ls

我也一直在尋找這個;))這似乎是解決方案

重擊(Works 100%)

http://andre.frimberger.de/index.php/linux/reading-ssh-password-from-stdin-the-openssh-5-6p1-compatible-way/

或使用Expect

http://bash.cyberciti.biz/security/expect-ssh-login-script/

PS:我知道這是一個較晚的答案,但可能會對其他人有所幫助:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM