Я хочу настроить ufw на удаленной машине при соединении SSH. Я ввожу
ufw reset
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 22
ufw enable
И после этого это сразу соединение SSH блоков, и не принимает новые. Единственная вещь, которую я могу сделать, состоит в том, чтобы сбросить сервер. Я пропускал что-то?
РЕДАКТИРОВАНИЕ 1: ИЗ причины у меня действительно есть ssh настроенным. Я получаю доступ к серверу SSH. Это означает, что настроено и что у меня есть соединение с сервером, пока я не работаю ufw enable
У меня в настоящее время есть та же проблема. На данный момент я сделал это как обходное решение.
ufw default allow incoming
ufw deny 1:21/tcp
ufw deny 23:65535/tcp
Выполнение этого на новой установке хорошо работало для меня, даже после перезагрузки, на Ubuntu 16.04.2
ufw enable
ufw allow ssh
ufw allow 22
ufw enable
Я решил с помощью команды expect
:
apt install expect -y
if [ -n "$SSH_CONNECTION" ] || [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
expect -c "
set timeout 3
spawn ufw enable
expect \"Command may disrupt existing ssh connections\"
send -- \"y\r\"
expect eof
"
else
ufw enable
fi
apt purge expect -y