Назад | Перейти на главную страницу

Вход по SSH с ключом не работает

Я следовал руководству по входу без пароля:

# Generate Key
ssh-keygen

#Append Key
cat ~/.ssh/id_rsa.pub | ssh user@remotehost 'cat >> ~/.ssh/authorized_keys'

#login
ssh user@remotehost.com

... Я открыл authorized_keys, чтобы убедиться, что ключ был добавлен, но мне все равно нужно ввести пароль для входа.

Я даже пробовал копировать с ssh-copy-id и ключи добавляются успешно, но по-прежнему запрашивает пароль.

myname-MBP:~ mynameezzy$ ssh myname@host.net "ls -la .ssh"
myname@host.net's password: 
total 28
drwxr-xr-x 2 myname neouser 4096 Sep 14 09:58 .
drwxrwxr-x 7 myname myname 4096 Sep 14 12:02 ..
-rw-rw-r-- 1 myname neouser  811 Sep 15 01:38 authorized_keys
-rw-rw-r-- 1 myname neouser  400 Sep 12 02:32 authorized_keys.bak
-rw------- 1 myname neouser 1675 Sep 11 11:27 id_rsa
-rw-r--r-- 1 myname neouser  400 Sep 11 11:27 id_rsa.pub
-rw-r--r-- 1 myname neouser 1010 Sep 14 09:58 known_hosts

Что я делаю не так?

На remotehost, пытаться

chmod 700 $HOME/.ssh
chmod 600 $HOME/.ssh/authorized_keys

редактировать: Я считаю, что самый быстрый способ решить большинство этих проблем - запустить второй, без отсоединения, sshd на другой порт на удаленном сервере и подключитесь к нему.

На сервере: /usr/sbin/sshd -d -p 2222

На клиенте: ssh remotehost -p 2222

Затем внимательно посмотрите на STDOUT из неотключаемого sshd. Возможно, вам потребуется открыть входящий порт на remotehostбрандмауэр; в данном случае 2222.

Измените разрешение для вашего каталога .ssh

  chmod 700 $HOME/.ssh
  chmod 600 $HOME/.ssh/authorized_keys

SSH довольно прост, поэтому, если вы не внесли никаких изменений в конфигурацию, устранять неполадки не так уж и много.

Можете ли вы использовать свой клиент для входа в систему с помощью SSH и открытого ключа на любой машине?

Визуально убедитесь, что открытый ключ на хост-машине совпадает с открытым ключом на клиенте. Я знаю, это кажется тупым, но я и раньше напутал. Обычно я просто быстро проверяю, совпадают ли первые и последние ~ 20 символов и нет ли пробелов.

Убедитесь, что на хост-машине /etc/ssh/sshd.conf имеет следующее:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

Сделайте группу из .ssh/ каталог и его содержимое в той же группе, что и пользователь на обеих машинах.

chown username:username -R ~/.ssh/

Попробуйте войти, потребовав использования ключа

ssh -i .ssh/id_rsa.pub username@servername