В рамках моих усилий по снижению шума в журналах и незначительному уменьшению возможности обнаружения (и в дополнение к fail2ban, разрешающему только аутентификацию с открытым ключом и т. Д.) Я обычно меняю sshd-порты на серверах, которые я настроил на другой порт, скажем, 5492. В настоящее время Я либо добавляю -p 5492 к моей команде ssh, либо добавляю порт для каждого конкретного сервера в мой ssh_config
.
Есть ли способ настроить ssh для подключения к порту 22 и к порту 5492, если порт 22 не работает?
ssh
command-line
Райли
источник
источник
ssh
внешнего присутствия.Ответы:
Вы можете обернуть сценарий оболочки,
ssh
ноssh
сам не сделает этого.Один из способов использования bash-функции заключается в следующем
~/.bashrc
:root
Между прочим, рекомендуется использовать зарезервированные порты для системных служб, напримерssh
, чтобы пользователи не могли прослушивать процессы, скажем, на порту 5492. В противном случае они могут воспроизвести человека посередине и, возможно, получить данные для входа. Итак, используйте порт <1024.источник
ssh
возвращает ненулевое значение. Тривиальный пример будетssh user@server false
.command
сейчас. Просто хотел избежать рекурсии, как вы уже догадались.ssh
- если есть ошибка ssh (в отличие от сбоя удаленной команды), он выйдет со статусом 255. Таким образом,command ssh -p 22 "$@"; if [ "$?" -eq 255 ]; then command ssh -p 5492 "$@"; fi
должно работать.ssh
Сам может сделать это с помощьюMatch
документированных в документах,ssh_config(5)
хотя в документации несколько примеров. Эта форма может быть подходящей, если кто-то хочет внедрить сложность в конфигурацию SSH, хотя она ограничена ограничениямиssh_config(5)
синтаксиса и может потребовать некоторого вмешательства для желаемого результата. Примечательно, что пользовательский порт не может быть установлен или может быть установлен неправильно с предыдущейMatch
попытки. Вот почему ниже он устанавливается дважды при проверке или один раз по умолчанию и не устанавливается при установлении канонических значений по умолчанию.is-ssh-up
просто проверяет, реагирует ли что-либо на данный порт и может лиисточник
Вы можете использовать функцию подстановки
~.ssh/config
, добавив эту запись в свой список:Но это не вернется к 22 сам по себе.
Если вы поставите его в конце, вы все равно можете переопределить его для тех хостов, где вам нужно 22, поставив другое значение над ним. (И вы всегда можете переопределить его в командной строке.)
источник