如何将脚本文件放置在其他机器的根目录

如何将脚本文件放置在其他机器的根目录

我想将一个脚本文件放在其他机器的根目录下。这是我的终端命令

scp /var/www/html/script.sh [email protected]:script.sh

它要求输入 root 密码。我输入了正确的 root 密码,但它说

Permission denied, please try again.

有人可以帮忙吗?

答案1

默认情况下,openssh 将拒绝任何 root 登录尝试。但是,可以通过/etc/ssh/sshd_config在服务器端进行修改来允许这样做。

确保此行设置为是并且否被注释掉:

PermitRootLogin yes

然后重新加载你的 sshd。

但是,上述设置并不是一个好的安全做法。请使用公钥登录。

配置行应该是:

PermitRootLogin without-password

  1. 在源机器上生成密钥,按照向导操作:
    ssh-keygen -t rsa

  2. 上述命令将创建.ssh/id_rsa.pub.ssh/id_rsa包含公钥和私钥对。您需要将.ssh/id_rsa.pub内容复制到目标机器中/root/.ssh/authorized_keys。如果目录和文件不存在,则创建它们,并确保 authorized_keys 的所有权为600

  3. 现在尝试 scp 尝试,它将要求您输入在步骤 1 中输入的密码。

答案2

假设您具有无密码 sudo 访问权限,则以下操作应该有效:

$ echo "My test file" > test 
$ scp test [email protected]:/tmp/
test
$ ssh [email protected] "sudo mv /tmp/test /"
$ ssh [email protected] "cat /test"
My test file
  1. 创建一个测试文件。
  2. 将文件复制到临时目录。
  3. 将文件移动到根目录。
  4. 测试文件是否位于根目录。

相关内容