Я хочу разместить файл скрипта в корневом каталоге другой машины. Вот моя команда терминала
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
.
На исходной машине сгенерируйте ключ, следуя указаниям мастера:
ssh-keygen -t rsa
Вышеуказанная команда создаст
.ssh/id_rsa.pub
и.ssh/id_rsa
содержащую пару открытого и закрытого ключей. Вам нужно скопировать.ssh/id_rsa.pub
содержимое на конечный компьютер/root/.ssh/authorized_keys
. Создайте каталог и файл, если он не существует, и убедитесь, что владельцем authorized_keys является600
.Теперь попробуйте выполнить команду 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
- Создайте тестовый файл.
- Скопируйте файл во временный каталог.
- Переместить файл в корневой каталог.
- Проверьте, находится ли файл в корневом каталоге.