我是 Linux 新手,我正在尝试跨多个服务器创建用户,并且我使用 ssh。
ssh -t adm@"$SERVER" /bin/sh << EOF
# Check if user already exists
if id "$USERNAME" >/dev/null 2>&1; then
echo "User $USERNAME already exists on $SERVER."
else
# Create user on the remote server
sudo -S useradd -m -s /bin/bash "$USERNAME"
fi
EOF
执行此操作时,我的提示不要求输入 adm 密码,并且失败。请查看日志
sudo: no password was provided
sudo: a password is required
我应该怎么做才能让提示询问我 adm 的密码并使用它来创建用户?
在手册页中,有以下内容:
最后,如果其他认证方式失败,ssh会提示 用户输入密码。 密码被发送到远程主机 检查;然而,由于所有通信都是加密的, 网络上监听的人无法看到密码。
如您所见,
ssh
的设置方式是输入密码时不会泄露密码,如果密码与ssh
命令一起给出,则没有多大意义。