ssh/authorized_keys с именем хоста в 'из' директивы

Я настраиваю sshd, чтобы позволить мне инициировать резервное копирование, которое должно быть сделано с корневой учетной записью и запущено удаленно, таким образом, я пытаюсь заблокировать это вниз как можно больше.

Я включил корневой вход в систему только с открытыми ключами и только с принудительными командами. Корень authorized_keys файл содержит открытый ключ, команду резервного копирования и список позволенного дюйм/с. Я могу добавить UseDNS к конфигурации sshd для включения поиска имени хоста но это, кажется, выпускает обратный поиск на соединяющемся IP для соответствия именам хостов, вместо того, чтобы запросить позволенное имя хоста для соответствия дюйм/с. Результат этого состоит в том, что мой IP решает к универсальному имени хоста, опубликованному моим ISP вместо имени хоста, которое я держу в курсе со своим IP. Существует ли способ использовать мой FQDN, или я должен просто придерживаться IP?

/etc/sshd_config:

PermitRootLogin forced-commands-only
PubkeyAuthentication yes
PasswordAuthentication no 
ChallengeResponseAuthentication no
UsePAM yes
UseDNS yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem       sftp    /usr/lib/openssh/sftp-server
AddressFamily inet

/root/.ssh/authorized_keys:

from="dynamic.example.com",command="/backup_script.sh" ssh-rsa AAABEQ9c42....

/var/log/auth.log:

Authentication tried for root with correct key but not 
from a permitted host (host=ip68-9-123-123.ri.ri.cox.net, ip=68.9.123.123).
# nslookup dynamic.example.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   dynamic.example.com
Address: 68.9.123.123

Не использование UseDNS результаты в этом не так полезное сообщение:

/var/log/auth.log:

Authentication tried for root with correct key but not 
from a permitted host (host=68.9.123.123, ip=68.9.123.123).

Я предполагаю, что могу просто усовершенствовать authorized_keys файл, но было бы более хорошо просто использовать FQDN.

1
задан 23 November 2019 в 20:07

1 ответ

Если Вы захотите использовать fqdn в Вашем authorized_keys файл, то необходимо будет удостовериться что исходная обратная твердость IP-адреса к желаемому имени хоста. Когда sshd получает соединение из где-то в другом месте, единственной информацией, которую он имеет, является IP-адрес; это может только выяснить имя хоста путем выполнения обратного запроса DNS.

, Так как Вы используете динамическое имя хоста, в значительной степени гарантируется, что IP-адрес, от которого Вы соединяетесь, никогда не будет решать к желаемому имени. Вместо этого как Вы видели, адрес решит к своего рода статическому имени, которое характерно для того адреса.

Ваш лучший выбор состоит в том, чтобы или (a) просто использовать IP-адрес и придумать некоторый механизм для того, чтобы усовершенствовать его, или (b) сделать не, полагаются на информацию об инициирующем адресе как часть Вашей аутентификации. Вместо этого используйте определенный для цели ssh ключ или некоторое другое решение.

0
ответ дан 7 December 2019 в 18:04

Другие вопросы по тегам:

Похожие вопросы: