я знаю как настроить SSH без пароля / без пароля. Но я понимаю, что настройка таким образом означает, что если кто-то получит файл id_dsa, он сможет войти в систему с любого компьютера.
Можно ли настроить на сервере X, что Y является «авторизованным ключом», только когда он поступает от клиента Z?
Вы можете ограничить доступ по IP для каждого authorized_key. Просто добавьте следующую строку в authorized_keys
на X что-то вроде:
from="Z_IP" Y_id_rsa.pub
В этом случае сервер X будет доступен по SSH с использованием ключа Y только при доступе с IP-адреса Z.
Также вы можете добавить дополнительные параметры. Вот примеры: https://debian-administration.org/article/685/Restricting_SSH_logins_to_particular_IP_addresses