Я делаю те же шаги (Выполнение SSH и SCP без ввода пароля на openSSH). Но он продолжает запрашивать пароль при запуске команды scp или 'ssh -l'. Те же самые шаги, которые я сделал несколько дней назад, он работал нормально, но теперь он не работает.

То, что я сделал, было:

  1. У меня две машины МЕСТНАЯ и УДАЛЕННАЯ.
  2. На обеих машинах я захожу в putty с пользователем root.
  3. На обеих машинах я проверил 'ssh -V', я нахожу одну и ту же версию в обоих продуктах.
  4. в локальном я запускаю из папки /root/.ssh

SSH-серийник

я дал имя ключевого файла как appkey. 5. он сгенерировал appkey, appkey.pub в /root/.ssh 6. В удаленном режиме я скопировал содержимое локального appkey.pub и вставил его в конец удаленного файла author_keys. 7. В дистанционном режиме я бегу

chmod 755 ~ /.ssh chmod 644 ~ /.ssh /authorized_keys

  1. В локальном режиме я попытался запустить команды scp и 'ssh -l', но он все еще спрашивал пароли.
  2. Я попробовал другой способ, вместо того, чтобы добавить в файл author_keys, я скопировал appkey.put в папку romote /root/.ssh

3 ответа3

2

Вам также необходимо проверить разрешение вашего дома, чтобы никто не мог написать ему. В противном случае незнакомцы могут переименовать ваш .ssh и создать свой собственный .ssh. У меня есть первоначальная настройка ssh, которую я создал несколько лет назад и которая помогла многим людям:

#!/bin/csh -fx

chmod go-w ~
if (! -d ~/.ssh) then
   rm -rf ~/.ssh
   mkdir ~/.ssh
endif
chmod 700 ~/.ssh
cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys
rm -f id_rsa
# generate id_rsa and id_rsa.pub
ssh-keygen -t rsa -f id_rsa -P ""
cat id_rsa.pub >> authorized_keys
# for remote host:
# cat ~/.ssh/id_rsa.pub | ssh HOST 'cat >> ~/.ssh/authorized_keys'
# it is the same as:
# ssh-copy-id -i id_rsa.pub USER@HOST
# it will add mulptiple entries if called multiple times

Я не эксперт в этом, просто собрал кусочки в Сети. Что-то может быть устаревшим, но работает в нашей среде.

0

Jackua, ты решил мою проблему. это решается так:

  1. Удалил существующую папку .ssh(переименованную в .ssh_bck).
  2. Я сделал те же шаги, что вы упомянули.
  3. Я использовал ssh-copy-id -i id_rsa.pub USER@HOST
  4. Для подтверждения командой 'ssh' USER @ HOST '' не запрашивается пароль.
  5. запустить cat .ssh/authorized_keys для проверки наличия нескольких файлов или одного объекта в файле.
0

Вы пытались указать, какой именно ключевой файл использовать при вводе команды ssh с локального сервера, следующим образом?

ssh -i /root/.ssh/appkey -l remote_username remote_servername

в противном случае ssh принимает имя вашего личного ключа, как вы можете видеть из следующего фрагмента справочной страницы ssh.

 ...
 -i identity_file
     Selects a file from which the identity (private key) for RSA or
     DSA authentication is read.  The default is ~/.ssh/identity for
     protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro-
     tocol version 2.  Identity files may also be specified on a per-
     host basis in the configuration file.  It is possible to have
     multiple -i options (and multiple identities specified in config-
     uration files).
  ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .