Я следовал руководству по входу без пароля:
# 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