настройка ssh authorized_keys кажется простой, но скрывает некоторые ловушки, которые я пытаюсь понять
- СЕРВЕР -
в / etc / ssh / sshd_config установить passwordAuthentication yes
, чтобы разрешить серверу временно принимать аутентификацию по паролю
- КЛИЕНТ -
рассмотрите cygwin как эмуляцию linux и установите и запустите openssh
1. генерация закрытых и открытых ключей (на стороне клиента)
# ssh-keygen
здесь, нажав только ENTER, вы получите DEFAULT
2 файла " id_rsa " и " id_rsa.pub " в ~ / .ssh / , но если вы предоставите name_for_the_key сгенерированные файлы сохраняются в вашем pwd
2. поместите your_key.pub на целевую машину ssh-copy-id user_name@host_name
если вы не создали ключ по умолчанию, это первый шаг, который пойдет не так
... вы должны использовать
ssh-copy-id -i path/to/key_name.pub user_name@host_name
3. регистрация ssh user_name@host_name
будет работать только для id_rsa по умолчанию, так что здесь 2-я ловушка, вам нужно ssh -i path/to/key_name user@host
(используйте ssh -v ... , чтобы увидеть, что происходит)
Если сервер все еще запрашивает пароль , то вы дали что-то. Введите кодовую фразу: , когда вы создали ключи (это нормально)
если ssh не прослушивает порт по умолчанию 22 должен использовать ssh -p port_nr
- SERVER -----
4. изменить / etc / ssh / sshd_config , чтобы иметь
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
(uncoment, если регистр)
Это говорит ssh о том, что нужно принять санкционированные_ключи и искать в домашнем каталоге пользователя строку с именем_ключа, записанную в файле .ssh / authorized_keys
5 установка разрешений на целевом компьютере
chmod 755 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Также отключите аутентификацию прохода
passwordAuthentication no
чтобы закрыть ворота для всех попыток ssh root / admin /....@ your_domain
6 обеспечить надлежащее владение и групповое владение всеми домашними каталогами без полномочий root.
chown -R ~ usernamehere
chgrp -R ~/.ssh/ user
===============================================
7. считают отличным http://www.fail2ban.org
8. дополнительно
ssh TUNNEL для доступа к серверу MySQL (bind = 127.0.0.1)