SSH авторизация по паролю


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

Ключ генерируется на локальном компьютере, затем добавляется в .ssh/authorized_keys в домашнем каталоге пользователя. После этого запрос пароля происходить не будет.



Для пользователя root полный путь к файлу /root/.ssh/authorized_keys

В этот файл при необходимости вручную можно добавлять ssh ключи, удалять ssh ключи. Можно удалить весь файл, тогда по ключу подключаться не сможет никто.



Пример файла с одним добавленным ключом приведен на скриншоте:

SSH авторизация по паролю


Принудительная SSH авторизация по паролю


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

В таких случаях нужна SSH авторизация по паролю.

Когда возникает необходимость заходить не по ключу, можно сделать так:


ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no [email protected]


Где user — логин системного пользователя на сервере, example.com — доменное имя (вместо него может использоваться IP адрес сервера, например 123.123.123.123)



Также полезным оказывается добавление алиаса «ssh-nokey» для подключения по паролю в .bashrc

echo "alias ssh-nokey='ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no' " >> ~/.bashrc

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



Обязательный запрос пароля при выполнении rsync


Использование публичного ключа можно исключить при использовании rsync:

 

rsync -avz -e "ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no" user@ip-adress:/dir/ /dir/current/



Также читайте про то, как сгенерировать SSH ключ и настроить доступ к серверу по SSH

Сказать спасибо