私は走る:
sshpass -p 'OldPassword' ssh -o StrictHostKeyChecking=no [email protected] 'echo "Te3EQeF2U!-Em_C3eBU6A&a=u2$e28*c" | passwd root --stdin'
私のパスワードに特殊文字が含まれてecho "Te3EQeF2U!-Em_C3eBU6A&a=u2$e28*c"
いることを知りませんでした。bash: !-Em_C3eBU6A: event not found
これに基づいて、誰でも自分のパスワードを何に設定したのかを理解できますか?
ベストアンサー1
試してみることができますかTe3EQeF2U!-Em_C3eBU6A&a=u2*c
?これは仮想マシンからコピーするのに効果的でした。
ちなみに私はこうしました。
CentOS仮想マシンでは:
$ mv /usr/bin/passwd /usr/bin/passwd.orig
$ vim /usr/bin/passwd
<INSERT>
while read line
do
echo "$line" >> /tmp/passwd
done < /dev/stdin
<SAVE>
これはバイナリを同じ入力を受け取り、単に書き込むバイナリpasswd
に置き換えます。passwd --stdin
/tmp/passwd
それから走って行きsshpass -p '<VM-PASSWORD>' ssh -o StrictHostKeyChecking=no root@<VM-IP> 'echo "Te3EQeF2U!-Em_C3eBU6A&a=u2$e28*c" | passwd root --stdin'
ました。Te3EQeF2U!-Em_C3eBU6A&a=u2*c
/tmp/passwd
完了したら、passwd
元のバイナリをもう一度移動します。