Если я создам пару ключей SSH, то я только смогу войти в систему через клиентскую машину, которая имеет открытый ключ? Например, если бы я хотел использовать компьютер в библиотеке или машину друга, то я смог бы?
Часть 2: действительно ли возможно включить аутентификацию по паролю и ключевое SSH, но только использовать то для входа в систему? Это победит цель наличия ключа?
Вам нужен доступ к закрытому ключу с каждым клиентом, который Вы хотите использовать для ssh доступа.
Лично я использую PuTTY на флеш-накопителе, поскольку Шпаклевка является кросс-платформенной. Необходимо будет импортировать openssh ключи к PuTTY keygen.
можно получить доступ к ssh без ключей (пароль, kerberos, основанный на хосте автор) как альтернатива.
Поэтому при использовании ключей ssh попытается использовать ключ сначала. Если ключ не будет доступен, то он отступит к аутентификации по паролю, если Вы не отключили аутентификацию по паролю в sshd_config.
при создании ключа можно все еще войти в систему с паролями или любым другим методом.
входят в систему, настроен через sshd_config - Посмотрите человека sshd - https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
Это зависит от того, как Вы настраиваете Ваш /etc/ssh/sshd_config
файл. При тихом разрешении логинов только с аутентификацией по паролю Вам не будут нужны ключи на каждом компьютере, с которым Вы хотите войти в систему.
следующая строка в том файле остановит любые регулярные логины пароля:
PasswordAuthentication no
Эта строка установлена на да по умолчанию.
можно создать ssh пару ключей без связанного пароля (оставьте незаполненный в процессе поколения), затем имя пользователя, предоставляющее правильный открытый ключ, сможет войти в систему без пароля, но логины пароля будут все еще работать.
Вы не побеждаете цель наличия ключа путем разрешения входа в систему пароля, но Вы оставляете больше опций для взломщика, таких как принуждение скота Ваш пароль. При использовании сильного пароля и нестандартного имени пользователя (не корневой, администратор или пользователь), Вы уменьшите этот риск.
я - большой поклонник не наличия порта 22 открытых на маршрутизаторе, который Ваш ПК находится позади, но перенаправление портов или луг NAT нестандартный порт к Вашим ПК ssh порт. Затем, когда Вы входите в систему, Вы использовали бы:
ssh -p<port-number> user@ip_address
Вот хорошая ссылка о ssh-укреплении, если Вы собираетесь иметь свой порт, открытый для мира!