Вы можете ограничить доступ к вашему ssh-серверу разными способами.
IMO самое главное - использовать ssh-ключи и отключить аутентификацию пароля.
Подробнее см. следующие страницы вики
https://help.ubuntu.com/community/SSH/OpenSSH/Keys
https://help.ubuntu.com/community/SSH/OpenSSH/ Ключи
Вы можете ограничить доступ к определенной подсети несколькими способами. Я предполагаю, что ваш ssh-сервер находится в подсети 192.168.0.0/16 с IP-адресом 192.168.0.10, отрегулируйте соответственно;)
Одна линия защиты - использовать маршрутизатор. Обязательно отключите UPnP и не допускайте переадресацию портов.
Вы можете установить несколько параметров в /etc/ssh/sshd_config. Одним из них является адрес прослушивания. Если вы установили адрес прослушивания в своей подсети. Частный IP-адрес не маршрутизируется через Интернет.
http://compnetworking.about.com/od/workingwithipaddresses/f/privateipaddr.htm
ListenAddress 192.168.0.10
Вы также можете использовать AllowUsers
AllowUsers you@192.168.0.0/16
В некоторой степени вы можете изменить порт
Port 1234
См. http://compnetworking.about.com/od/workingwithipaddresses/f/privateipaddr.htm
Как указано в сообщении на форуме, вы можете использовать TCP Wrapper. Оболочка TCP использует 2 файла, /etc/hosts.allow и /etc/hosts.deny
Отредактируйте /etc/hosts.allow и добавьте свою подсеть
sshd : 192.168.0.
Измените /etc/hosts.deny и запретите все
ALL : ALL
См. также http://ubuntu-tutorials.com/2007/09/02/network-security-with-tcpwrappers-hostsallow-and-hostsdeny/
Последнее, что вы можете использовать на своем сервере. Вы можете использовать iptables, ufw или gufw.
iptables
sudo iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT
Пожалуйста, не используйте DROP в iptables, см. http://ubuntu-tutorials.com/ 2007/09/02 / network-security-with-tcpwrappers-hostsallow-and-hostsdeny /
ufw
sudo ufw allow from 192.168.0.0/16 to any port 22
gufw имеет графический интерфейс [!d34 ]
См. https://help.ubuntu.com/community/UFW
Вы можете это сделать, но только если имена ваших каталогов не содержат нескольких последовательных пробелов и только если они не содержат специального символа оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение : введите cd My, затем нажмите Tab. Bash вставляет обратные косые черты перед специальными символами.
Вы можете это сделать, но только если имена ваших каталогов не содержат нескольких последовательных пробелов и только если они не содержат специального символа оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение : введите cd My
, затем нажмите Tab. Bash вставляет обратные косые черты перед специальными символами.
Вы можете это сделать, но только если имена ваших каталогов не содержат нескольких последовательных пробелов и только если они не содержат специального символа оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение : введите cd My
, затем нажмите Tab. Bash вставляет обратные косые черты перед специальными символами.
Вы можете это сделать, но только если имена ваших каталогов не содержат нескольких последовательных пробелов и только если они не содержат специального символа оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение : введите cd My
, затем нажмите Tab. Bash вставляет обратные косые черты перед специальными символами.
Вы можете это сделать, но только если имена ваших каталогов не содержат нескольких последовательных пробелов и только если они не содержат специального символа оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение : введите cd My
, затем нажмите Tab. Bash вставляет обратные косые черты перед специальными символами.
Вы можете это сделать, но только если имена ваших каталогов не содержат нескольких последовательных пробелов и только если они не содержат специального символа оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение : введите cd My
, затем нажмите Tab. Bash вставляет обратные косые черты перед специальными символами.
Вы можете это сделать, но только если имена ваших каталогов не содержат нескольких последовательных пробелов и только если они не содержат специального символа оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение : введите cd My
, затем нажмите Tab. Bash вставляет обратные косые черты перед специальными символами.
Вы можете это сделать, но только если имена ваших каталогов не содержат нескольких последовательных пробелов и только если они не содержат специального символа оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение : введите cd My
, затем нажмите Tab. Bash вставляет обратные косые черты перед специальными символами.