我一直尝试以普通用户的身份写入文件PermitRootLogin yes
。/etc/ssh/sshd_config
为了寻找这个,我从某个地方得到了这个,
echo "PermitRootLogin" yes | sudo tee -a /etc/ssh/sshd_config
另外,我知道“我可以sudo
在同一行上明确传递任何命令的 root 密码”
就像echo <password> | sudo -S apt-get install tmux
所以,我的问题是如何合并这两个命令并创建一个命令,PermitRootLogin yes
以普通用户身份使用 root 密码将其附加到指定的文件。
答案1
您可以使用嵌套bash -c
或sh -c
命令来实现这一点:
echo "mypassword" | sudo -S bash -c 'tee -a /etc/ssh/sshd_config <<< "PermitRootLogin yes"'
#or
echo "mypassword" | sudo -S sh -c 'echo "PermitRootLogin" yes | tee -a /etc/ssh/sshd_config'
请注意,这是相当不安全的. 至少考虑sudo -S
添加HISTIGNORE
(也可以看看)。
通常更好的选择是使用sudoers
配置到允许一些(或全部) 命令无需密码。
无论如何,这通常是一个非常允许root
登录是个坏主意ssh
!