私はAマシンにあり、Aからscp
。この構成は変更できません。root
root
ssh
scp
Aで実行しているroot
間、Bのパスワードを要求しないため、標準文は機能しません。scp
どうですか?
ベストアンサー1
sudoers
私のボックスで動作させることができますが、オプションが破損するrequiretty
かどうかはわかりません。
sudo
コンピュータBでパスワードを要求するプログラムを作成します。たとえば/home/myname/askpass.sh
、chmod
+x
#!/bin/bash
echo "my_password"
scp
リモートコマンドへのSSH接続を確立し、関連コマンドを挿入するコンピュータに接続スクリプトを作成します。たとえば、sudo
こう呼んでください。./fakessh.sh
chmod
+x
#!/bin/bash
oldargs=( $@ )
newargs=( )
while : ; do
[ "${oldargs[0]}" == "scp" ] && break
newargs+=( "${oldargs[0]}" )
oldargs=( "${oldargs[@]:1}" )
done
newargs+=( 'export SUDO_ASKPASS=/home/myname/askpass.sh' \; exec sudo -A -- "${oldargs[@]}" )
exec ssh "${newargs[@]}"
上記のスクリプトはこれを参照しているため、/home/myname/askpass.sh
必要に応じてパスを更新してください。
今はscp
ほとんどうまくいきます。
scp -S ./fakessh.sh user@hostname:/etc/shadow ./
これは私にとって効果的です。 YMMV。
ncat
socat
または、同じことを実行してカスタム受信ポートを指すことができる場合は、別のハッキングを考えることができますが、セキュリティのsudo
観点から見るとscp
愚かなことになります。