Как @lese говорит попробуйте:
chmod 640 /etc/shadow
chown root:shadow /etc/shadow
, и если он выдает «Операция запрещена», попробуйте:
lsattr /etc/shadow
и если он говорит ---- i -------- e-
, затем запустите chattr -i / etc / shadow
и снова chmod.
выполнить пару ключей ssh между хостами
Пример :(хостA и хостB)
hostA# ssh-keygen
hostA# ssh-copy-id hostB
hostB# insert password of hostB
теперь можно использовать sftp без пароля
Если у вас уже настроены ключи ssh, все, что вам нужно сделать, это взять открытый ключ ssh с одного сервера и поместить его в авторизованный файл ключей удаленного хоста.
Ваш публичный ключ ssh будет примерно таким:/home/.ssh/id_rsa.pub
Этот ключ можно скопировать в ~/.ssh/authorized_keys
на удаленном хосте.
Или вы можете выполнить следующие шаги, чтобы создать новые ключи и установить пароль -без ssh.
бежать:
ssh-keygen
Это создаст открытый ключ примерно так:
/home/myhome/.ssh/id_rsa.pub
Затем вы можете использовать ssh-copy-id
для копирования открытого ключа на удаленный хост:
ssh-copy-id -i /home/myhome/.ssh/id_rsa.pub remote-host
Это добавит вновь созданный открытый ключ в файл авторизованных ключей на удаленном хосте.
Вы можете проверить добавление нового ключа, заглянув в:
.ssh/authorized_keys
Теперь у вас не будет запрашиваться пароль.