
У меня есть Ubuntu VPS, который я иногда использую как SOCKS
прокси для просмотра интернета. Я использую команду ssh dynamic port-forwarding следующим образом:
ssh -fNTC -D 1080 username@vpsIP
затем установите прокси-сервер моего браузера в localhost:1080
качестве SOCKS
.
Я создал дополнительного пользователя с именем пользователя 'чуваки' на VPS для нескольких друзей, чтобы иметь возможность переадресовывать порты по SSH и получить что-то вроде VPN (нам не нужна сетевая часть VPN).
Сейчас я действительно не хочу использовать свой VPS в качестве VPN-сервера, поэтому я бы хотел использовать переадресацию портов SSH или что-то подобное.
Как мне предотвратитьчувакипользователь не сможет открыть защищенную оболочку и начать творить беспорядок на VPS?
решение1
А как насчет удаления оболочки пользователя «dudes»?
usermod -s /sbin/nologin dudes
или если в вашей ОС нет nologin:
usermod -s /bin/false dudes
решение2
Есть несколько возможностей. Но, вероятно, самым простым будет вариант ForceCommand
в sshd_config
. Он не позволит запустить ни одну команду, а если они захотят запустить какую-то, он запустит эту.
Пример фрагмента sshd_config
:
Match User dudes #your dudes user -- you can also match group
ForceCommand /bin/true
решение3
Если вы используете аутентификацию на основе ключей (что я настоятельно рекомендую вам делать), то вы можете ограничить действия, разрешенные каждому ключу, с помощью файла authorized_keys
.
Указание этого параметра command="/bin/false"
перед ключом не позволит им вызвать оболочку или любую другую команду, кроме той, которую вы ввели authorized_keys
.
Есть и другие ограничения, которые вы можете наложить через authorized_keys
. Полный список см. sshd
на странице руководства.