通过ssh远程root登录



我有2个不同的服务器,我通过ssh远程访问。我目前正在编写一个bash脚本,通过crontab每周将一些档案从服务器a移动到服务器B。脚本将从服务器A运行,自然在某些时候它需要登录到服务器b。我设置了RSA密钥,它们工作正常(从A运行ssh user@B,它不再要求密码,我得到正确的)。

问题是user@B我没有写权限(ssh root登录在B上被禁用).为了获得root访问权限,我需要登录我的常规user@B,然后键入su -并输入root密码,我有,它直接从B这样做时起作用。

我的问题是:我可以编程脚本这样做(键入su -并输入root密码)后,通过RSA登录到B常规user@B自动?然后继续scp文件在目标文件夹B?

谢谢

是的,你可以用sudo来做。

通过配置sudo(使用visudo文档中的"man 5 sudoers"),您可以使非特权用户以root身份运行某些命令而不需要密码。

然后你可以运行"ssh hostname sudo sometask"

因此,对于您的场景,首先使用"scp"将文件复制到目标主机,然后使用sudo在目标主机上运行具有提升权限的脚本。

如果你想一次完成这两个操作,你可以在本地运行tar,将它管道到ssh hostB sudo tar -C directory xf -,这样在主机b上以root身份运行的tar就可以用root权限解压缩它:

tar cf - directory | ssh hostB sudo tar -C directory xf -#

(未测试)

相关内容

  • 没有找到相关文章

最新更新