Для меня это работает:
command="/usr/lib/ssh/sftp-server"
(Вы можете узнать это сами, посмотрев список процессов на ssh-сервере)
Еще лучше указать command
на сценарий оболочки, который проверяет, использовал ли клиент правильную команду. Например, так (упрощенно, не проверено):
#!/bin/sh
# We get SSH_ORIGINAL_COMMAND from sshd
# comment out for production!
echo "debug original command: $SSH_ORIGINAL_COMMAND" >&2
if [ "$SSH_ORIGINAL_COMMAND" != "/usr/lib/ssh/sftp-server" ]; then
echo "access denied" >&2
exit 1
fi
exec /usr/lib/ssh/sftp-server
Такой скрипт также позволит проверить разрешенные args для sftp-сервера. Идея аналогична известному скрипту rrsync
.
Что касается других возможных опций "no-*". Я думаю, вы можете использовать большинство из них, просто попробуйте. Они описаны в man sshd
-> AUTHORIZED_KEYS FILE FORMAT
Я использовал ] dhcpdump
, когда я тестировал DHCP. Он сбрасывает обе стороны транзакции DHCP. Если вы оставите его включенным, он будет регистрировать переданные параметры.
Вы можете перезапустить DHCP-клиент, чтобы увидеть начальное согласование. Запрос на продление должен содержать всю текущую конфигурацию.
Я не знаю способа запросить эту информацию на клиенте. Если вы находитесь на сервере, вы можете увидеть информацию об аренде клиентов в /var/lib/dhcp/dhclient.leases
. С клиента я знаю только один способ:
sudo grep dhclient /var/log/syslog
Что должно дать вам что-то вроде:
May 20 18:34:38 [machine_name] dhclient: DHCPREQUEST on eth0 to [DHCP_SERVER_IP] port 67
May 20 18:34:38 [machine_name] dhclient: DHCPACK from [DHCP_SERVER_IP]
May 20 18:34:38 [machine_name] dhclient: bound to [client_dhcp_ip] -- renewal in 1517 seconds.
в зависимости от вашего дистрибутива, он должен быть расположен в /var/lib/dhcp
под dhclient.{interface}.leases или /var/lib/dhclient.leases
. вы также можете указать путь к файлу dhclient.leases, передав -lf при запуске dhclient.
В NetworkManager используйте nmcli
для запроса статуса DHCP для вашего активного подключения (при условии, что )с
nmcli -f ipv4.method con show "`nmcli -t -f NAME connection `"
Для получения полной информации DHCP используйте -f DHCP4
. При необходимости настройте ipv6.
В текущем Debian вы можете найти информацию в /var/lib/dhcp/dhclient.leases
, которая выглядит следующим образом:
lease {
interface "eth0";
fixed-address 10.224.129.116;
option subnet-mask 255.255.255.0;
option dhcp-lease-time 3600;
option routers 10.224.129.1;
option dhcp-message-type 5;
option dhcp-server-identifier 10.224.129.1;
option domain-name-servers 10.224.129.1;
option dhcp-renewal-time 1800;
option dhcp-rebinding-time 3150;
option broadcast-address 10.224.129.255;
option host-name "tk-otc-client";
option domain-name "dd.otc";
renew 4 2020/12/03 09:56:25;
rebind 4 2020/12/03 10:26:09;
expire 4 2020/12/03 10:33:39;
}
Знай свой Unix/Linux :-)Доступно больше клиентских программ DHCP.
Одним из довольно частых вариантов является использование dhclient. Обычно он настроен на запись полного ответа «PACK», декодированного в файл. Файл обычно находится где-то в /var.
Что-то вроде find /var -name '*leases*'
может дать вам подсказку. У меня/var/db/dhclient.leases.em2
(OpenBSD ).
Или расскажите о ПО, которое вы используете.