2017-11-08 5 views
0

私はsshfsを使用して自分のコンピュータにリモートフォルダをマウントしようとしています。 次のように私のbashスクリプトは次のとおりです。bashスクリプトコマンドで2つの入力を提供するには?

sudo sshfs -o allow_other [email protected]:/ /home/kr1shna/remote -o password_stdin <<<"xxxxxx" 

と毎回私はこれを実行するには、rootのパスワードのために私を求められます。

ので、私は試してみました:

echo "rootpassword" | sudo -S sshfs -o allow_other [email protected]:/ /home/kr1shna/remote -o password_stdin <<<"xxxxxx" 

を私は自分のrootパスワードをエコーするというよくない習慣を知っているが、私は、このコンピュータを使用するだけです。

rootパスワードと他のパスワードパラメータをどのようにbashスクリプトに入力できますか?

ありがとうございます。

+2

この投稿(https://unix.stackexchange.com/questions/337465/username-and-password-in-command-line-with-sshfs)は、プライベートとパブリックを使用してパスワードをエコーする非常に良い方法ですキー。 –

+0

プロセスへの* 1つの標準ストリームしか存在できません。 2つの異なる入力行をそのストリームに入れることはできますが、2つの別々のストリームを作ることはできません。 –

+1

とにかく、このコマンドを実行しているときに 'sudo'がパスワードを要求しないように設定するのはなぜですか? –

答えて

0

コマンドに渡す値を定義してみてください。あなたのケースでは

例えば

password="$(echo 'HelloWorld!')"; 
echo "Your password is $password"; 

、それは次のようになります。

password="$(echo 'xxxxx')" 
sudo sshfs -o allow_other [email protected]:/ /home/kr1shna/remote -p $password 

そして、私はあなたがおそらくこれをしないためにあなたを伝える私たちのすべてに悩まさなったが、これは本当にている知っていますサーバーに潜在的なセキュリティ上の欠陥があります。私は非常にこれを行うことをお勧めします。

+0

'password =" HelloWorld! "'と 'password =" xxxx "' ??皆さんお元気で。 – shellter

+0

私はそれがうまくいくと思います...私はその変数の出力をファイルディレクトリとして誤ってしまうスクリプトをたくさん作っていましたので、それは癖の力でした(?)。いずれにせよ、あなたは正しいです。 'password =" HelloWorld! "'と 'password =" xxxxx "'が動作します。 – jramos775

0

パスワードを入力せずにssh pubキーとlogin sshを生成してみませんか?分散クラスタの多くは、このようにしています。

関連する問題