Дополнительные опции:
http://www.la-samhna.de/library/scanners.html
Сделайте свой собственный образованный выбор. В зависимости от количества хостов Вы имеете, имея централизованный сервер создания отчетов, или механизм будет важным. Примите это во внимание.
Разве VPN не подходит больше? OpenVPN очень просто настроить. Вот пример конфигурации и несколько ссылок, которые помогут вам в процессе создания сертификата:
apt-get install openvpn
mkdir /etc/openvpn/easy-rsa
mkdir -p /etc/openvpn/ccd/client_server
touch /etc/openvpn/ipp.txt
cp -a /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca
./build-dh
./build-key-server server
cd /etc/openvpn/easy-rsa/keys
openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile ca.crt
Затем создайте новый файл /etc/openvpn/client_server.conf
и вставьте в него следующее, изменив SERVER_IP_ADDRESS
в зависимости от ситуации
local SERVER_IP_ADDRESS
port 8443
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
pkcs12 /etc/openvpn/easy-rsa/keys/server.p12
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 192.168.100.0 255.255.255.0
client-config-dir /etc/openvpn/ccd/client_server
ccd-exclusive
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
reneg-sec 0
Затем создайте ключ для каждого пользователя, который будет подключаться, и создайте файл конфигурации в каталоге ccd
./build-key-pkcs12 user1@domain.com
echo "ifconfig-push 192.168.100.2 255.255.255.0" > /etc/openvpn/ccd/client_server/user1@domain.com
IP-адрес ДОЛЖЕН подходить для подсети / 30 (см. http://www.subnet-calculator.com/cidr.php), так как для каждого соединения доступно только 2 адреса (сервер и клиент). Итак, ваш следующий доступный IP-адрес клиента будет 192.168.100.6 и т. Д.
Теперь у вас есть статические IP-адреса для каждого подключающегося пользователя.
Затем укажите user1@domain.com.p12
конечному пользователю и используйте следующий файл конфигурации
client
dev tun
proto udp
remote SERVER_IP_ADDRESS 8443
pkcs12 user1@domain.com.p12
resolv-retry infinite
nobind
ns-cert-type server
comp-lzo
verb 3
reneg-sec 0
Если у каждого клиента разные имена пользователей, вы можете использовать netstat
, чтобы узнать, какой порт прослушивает процесс sshd
этого пользователя. Например:
% sudo netstat -tlpn | grep 'sshd: mgorven@'
tcp 0 0 127.0.0.1:22220 0.0.0.0:* LISTEN 5293/sshd: mgorven@
tcp 0 0 127.0.0.1:5120 0.0.0.0:* LISTEN 5293/sshd: mgorven@
Вы можете изменить временной диапазон портов ( / proc / sys / net / ipv4 / ip_local_port_range
для Linux), а затем использовать статически выделенные порты за пределами этого диапазона.
У вас должна быть возможность извлечь соответствующую информацию из вывода:
lsof -i tcp
Запуск от имени пользователя root.
Я хочу такую же настройку, как ты, Я увеличил уровень журнала SSH-сервера до DEBUG, и он показал в журналах, какой был локальный порт клиента
, например:
команда клиента: ssh -N -R0: 127.0.0.1 : 5522 (скрытый) журнал:
Jun 30 11:28:59 debsid sshd[27577]: debug1: Local forwarding listening on 127.0.0.1 port 35391
там вы видите номер порта
Запустите этот скрипт на сервере:
sudo lsof -i -n | grep "sshd" | grep "(LISTEN)" | awk '{print $2}' | while read line; do sudo lsof -i -n | egrep $line | sed 3~3d | sed 's/.*->//' | sed 's/:......*(ESTABLISHED)//' | sed 's/.*://' | sed 's/(.*//' | sed 'N;s/\n/:/' 2>&1 ;done
Вам могут понадобиться или не понадобиться эти два скрипта. Удалить, если нет.
PS - Это модифицированная версия решения, которую я нашел в другом месте некоторое время назад. Я думаю, что она могла прийти из StackOverflow, но не могу найти оригинальную ссылку.