我希望我的脚本使用密码连接到 ssh,连接后它将切换到sudo -s
并运行mkdir
命令
目前我设法连接到 ssh 而无需输入密码,但我无法通过用户切换来创建我的文件夹
好像:
root@computer:/home/user/test# sshpass -p 'password' ssh [email protected] mkdir /var/volatile/flash-upgrade
mkdir: can't create directory '/var/volatile/flash-upgrade': Permission denied
只有root用户可以创建文件夹
答案1
例如,admin
192.168.2.250 上的用户需要能够sudo
连接到正确的用户,ssh sudo id
或者您可以将 ssh 设置为允许 root 访问计算机的用户,因此。ssh [email protected]
如果您独自使用家庭网络,则两者都应该没问题;在企业环境中,您应该考虑安全影响。
答案2
您只能使用标记的 ssh 公钥认证来允许 root 访问:在 /etc/ssh/sshd_config 中, set PermitRootLogin forced-command-only
Force-command 是您在 /root/.ssh/authorized_keys 中标记公钥的命令,例如
command="script_you_have_strictly_controlled" id-rsa <public key here>
这样您就可以控制提升到只执行授权和预定义的任务