Как разместить файл скрипта в корневом каталоге другого компьютера

Как разместить файл скрипта в корневом каталоге другого компьютера

Я хочу разместить файл скрипта в корневом каталоге другой машины. Вот моя команда терминала

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. Проверьте, находится ли файл в корневом каталоге.

Связанный контент