.bashrc カスタムセカンダリパスワードとSCPが動作しません。 (SSH補助パスワード)

.bashrc カスタムセカンダリパスワードとSCPが動作しません。 (SSH補助パスワード)

~/.bashrc「何らかの目的で」セカンダリパスワードを要求するスクリプトを追加しましたが、これが私の目的に合致しました。しかし、一つの小さな問題があります。

scpサーバーに接続すると、「stdin:is not a tty」でカスタムスクリプトを~/.bashrc 実行したときに発生するエラーが原因で失敗します。scp

sh second_pass.sh私から~/.bashrc

コンテンツsecond_pass.sh:

trapeze ()  {
    printf "Trying to kill me!!" }

trap trapeze SIGINT

while true; do echo "Please enter the password:" read -s password

if [[ -z "$password" ]] ; then
    continue ; fi

hash="$(echo -n "$password" | md5sum )" password=`echo "$hash" | awk '{print $1}'`

if [ "$password" == "a359c98e8c05feaf91bdb8cfc7dd6b" ] then
    exit ; else
    echo "WRONG!!!" fi done

結果は私がするscpとき

stdin: is not a tty
Please enter the password:

その後、scp失敗します。

scp&を使用してパスワードプロンプトスクリプトを維持したいと思います~/.bashrc
どうすればいいですか?

ベストアンサー1

交換しよう

 while true ; do echo ...

渡す

 while tty -s ; do echo ...

これにより、ダブルパスワードの確認が無効になります。

これはあなたが望むものではないかもしれません。

2つのパスワード戦略に固執する場合、残りの唯一のオプションは、ファイルが提供されているscpプラ​​ットフォームに従ってログインして(そして2回識別した後)ファイルを抽出することです。

おすすめ記事