sudo -i ssh 内带有密码

sudo -i ssh 内带有密码

我想写一个脚本来连接服务器,这样会增加权限。现在我使用 的脚本expect,但我想改变它。这是我尝试实现此目标的一种方法:

ssh host -t 'echo "passowrd" | sudo -S echo; sudo -i'

密码是否保存在服务器的命令历史记录中?我找不到这些命令的任何记录:

ssh host -t 'ls;echo $SHELL;history;bash -l'

此命令显示 ls 命令和“/bin/bash”的结果。

答案1

使用 sudoers (visudo 或将配置放入 /etc/sudoers.d)为用户提供无需密码即可执行给定命令的权限似乎是更好的方法。

如果您不使用交互方式(仅远程执行而不是登录),则 bash 历史记录中不会有任何条目。要访问 bash 的历史记录,您需要使用以下命令: ssh host "cat .bash_history" 但是您不会找到来自远程执行的任何条目。

相关内容