
Я новичок в Gnu/Linux и UNIX. Играю в игру, чтобы изучить основы этой ОС.
В рамках игры, в которую я играю, мне необходимо войти на удаленный сервер с помощью ssh
, имея только сертификат закрытого ключа и имя пользователя (без пароля).
- Если я вхожу в систему с помощью SSH с удаленной машины (где я вошел под другим именем пользователя), мне предоставляется доступ без пароля.
- Если я попытаюсь войти в систему с локального компьютера, SSH вместо этого запрашивает у меня пароль.
Является ли это следствием конфигурации SSH сервера, к которому я пытаюсь получить доступ?
Я имею в виду, что SSH может применять различную политику входа, если я вхожу с локального хоста (в данном случае сервера) и если я вхожу с удаленной машины (в данном случае моего ПК)?
Большое спасибо.
С наилучшими пожеланиями.
решение1
Является ли это следствием конфигурации SSH сервера, к которому я пытаюсь получить доступ?
На основании данных, которыми вы поделились, мы не можем быть уверены. Вы даже можете подключаться к двум разным, независимо настроенным демонам SSH, работающим на одной и той же системе.
Я имею в виду, что SSH может применять различную политику входа, если я вхожу с локального хоста (в данном случае с сервера) и если я вхожу с удаленной машины (в данном случае с моего ПК)?
Да, SSH-серверы могут применять различные политики в зависимости от различных свойств входящих подключений.
Например, Match
ключевое слово в sshd
конфигурации OpenSSH позволяет вам определять условные блоки, группирующие директивы, которые применяются (и переопределяют ранее заданные) только в том случае, если выполняется список указанных условий (подробнее см.man 5 sshd_config
).
Добавляем этот блок /etc/ssh/sshd_config
(точное местоположение может отличаться в зависимости от вашей системы):
PubkeyAuthentication yes
Match Address "!127.0.0.1,!::1,*"
PubkeyAuthentication no
поручит sshd
:
- разрешить аутентификацию с открытым ключом по умолчанию;
- запретить аутентификацию с открытым ключом для подключений, поступающих с адресов, отличных от
127.0.0.1
и::1
.
(Примечание, избавляющее от головной боли: как указано вman 5 ssh_config
, "УЗОРЫ",
[...] отрицательный результат сопоставления сам по себе никогда не даст положительного результата. [...] Решение здесь заключается во включении термина, который даст положительное сопоставление, например, подстановочного знака [...]
поэтому "!127.0.0.1,!::1,*"
включает в себя a *
в конце).