Kum*_*ohn 5 linux ssh sudo bash
我正在尝试通过 SSH 重置 root 密码,使用 sudo,因为直接以 root 身份登录被禁用。
我正在使用以下命令重置密码:
sshpass -f .pass ssh kj@server2 'bash -s' < password.sh
Run Code Online (Sandbox Code Playgroud)
运行此程序时,系统提示我输入 sudo 密码,但失败了。
password.sh有以下内容。
MYPASS=abcd@123
echo $MYPASS | sudo -kS bash -c 'echo passwd | passwd root --stdin'
Run Code Online (Sandbox Code Playgroud)
如何使用 SSH 和 sudo 成功重置密码?
诸如$"\`
in之类的字符$MYPASS
可能会被 bash 扩展,因此发送到 sudo 的密码将不是您所期望的。
要按字面打印字符串而不使用 bash 扩展,请使用printf '%s\n' "$1"
sshpass -f "$SSH_PASS" ssh -t -l "$SSH_USER" -p "$SSH_PORT" "$SERVER" \
"printf '%s\n' \"root:$PASSWORD\" | sudo chpasswd -c SHA512"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2129 次 |
最近记录: |