rsync
делает сравнение контрольной суммы прежде, чем скопировать (в некоторых случаях), постараться не копировать то, что уже там. Точка сравнения контрольной суммы не должна проверять, что копия была успешна. Это - задание базовой инфраструктуры: драйверы файловой системы, дисковые драйверы, сетевые драйверы, и т.д. Отдельные приложения такой как rsync
не должны беспокоиться этим безумием. Все rsync
потребности сделать (и делает!) должен проверить возвращаемые значения системных вызовов, чтобы удостовериться, что не было никакой ошибки.
Это реализовано в OpenSSH 7.8p1, выпущенном в 2018 г. -08 -24. Цитата из примечаний к выпуску:
add a PermitListen directive to sshd_config(5) and a corresponding permitlisten= authorized_keys option that control which listen addresses and port numbers may be used by remote forwarding (ssh -R...).
Существует опция no-port-forwarding
то, что можно использовать, который предотвращает все перенаправление портов. Существующий, по крайней мере, с OpenSSH 4.3p2 (CentOS 5.3 - самая старая машина у меня есть доступ к). Поместите его в то же место, которое Вы поместили бы permitopen
.
Дубликат: https://superuser.com/questions/516417/how-to-restrict-ssh-port-forwarding-without-denying-it
Похоже, вы можете использовать следующее?
В конфигурационном файле сервера есть опция PermitOpen. Эта опция может быть использована для указания хостов и портов, для которых могут быть установлены переадресации. Эта опция может быть использована внутри блока Match, поэтому ее можно ограничить по пользователю, группе, имени хоста или IP-адресу.
Редактировать:
PermitOpen host:port
PermitOpen IPv4_addr:port
PermitOpen [IPv6_addr]:port
Невозможно ограничить это с помощью ssh. Возможно, для этого можно использовать selinux или iptables. Тем не менее, существует альтернативная стратегия, которая может соответствовать или не соответствовать вашим потребностям. Используйте привязку к сокетам UNIX. Это должно быть доступно, начиная с версии openssh 6.8.
При использовании сокетов у вас есть ACL файловой системы (, хотя сокеты учитывают, что они могут *зависеть от nix ), и вы можете использовать его, чтобы предотвратить привязку одного пользователя к другому сокету. Однако это никоим образом не предотвращает привязку к портам, поэтому в зависимости от вашего варианта использования это может не помочь, но, возможно, порты не имеют значения, если вы можете постоянно использовать только сокеты.
При обработке сокетов UNIX висячих файлов сокетов могут возникнуть проблемы, поскольку обратные издатели пытаются повторно подключиться. У меня есть еще вопрос (и ответ )на эту проблему. Короче говоря, вы, вероятно, также захотите использоватьStreamLocalBindUnlink yes
:
Как очистить сокет обратного туннеля SSH после закрытия соединения?