Аутентификацию по протоколу SSH на сервере, как известно, возможна по паролю и по ключу, авторизацию по ключу можно запретить. SSH авторизация по паролю менее безопасна, чем по ключу поскольку в этом случае нельзя гарантировать, что пароль не станет известен злоумышленникам если сетевой трафик прослушивается, а пароль передается в открытом виде.
Ключ генерируется на локальном компьютере, затем добавляется в /.ssh/authorized_keys в домашнем каталоге пользователя. После этого запрос пароля происходить не будет.
Принудительная 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» [email protected]:/dir/ /dir/current/
Также читайте про то, как сгенерировать SSH ключ и настроить доступ к серверу по SSH