У меня есть сервер ubuntu, на котором я часто использую scp-файлы. Он настроен для аутентификации без пароля с использованием ключа, который у меня есть на сервере. Можно ли привязать MAC-адрес к ключу, чтобы только мой клиент мог войти с ним?
Нет.
Ключи SSH - это пара аутентификации с открытым и закрытым ключом. Они ничего не знают о сетях1.
Кроме того, SSH-сервер не знает, какой MAC-адрес у клиента. Его знание сети заканчивается на TCP / IP. Нет причин, по которым ему может понадобиться MAC-адрес своих клиентов, и он в любом случае не будет доступен для всех клиентов (подумайте о хостах, которые не находятся в локальной подсети).
1Исключение: ключи хоста обычно связаны с IP-адресом или именем хоста, которому они принадлежат, через known_hosts
file - эта ассоциация не является строго необходимой для работы SSH, она просто добавляет безопасности, чтобы убедиться, что вы подключаетесь к машине, к которой, как вы думаете, подключаетесь.
Короткий ответ: да, но только через IPTables. Это определенно не то, что вы ищете, поскольку это не имеет ничего общего с вашим ключом, а только фильтрация брандмауэра.
Вот страницу об использовании ключей ssh в Ubuntu. Сделать это очень легко, если вы сделали это один раз.
После этого вы просто сохраняете секретный ключ в секрете (уникальный для этого клиента).