nixp.ru v3.0

21 октября 2017,
суббота,
22:38:34 MSK

DevOps с компанией «Флант»
anonymous написал 8 мая 2005 года в 18:32 (322 просмотра) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

Такая проблема: есть две машины с FreeBSD. Одна видна в интернет по ssh. Надо сделать так, чтобы когда некоторые пользователи, которые снаружи логинились на первую машину перенаправлялись на вторую, т.е. ничего не могли сделать на первой. Как это можно сделать?

Genie

ну, можно попробовать так:

указать им на доступной из инета машине в качестве shell-а не (t)csh, а «/usr/bin/ssh вторая_bsd». не забудь прописать ssh в качестве валидного shell.

при этом необходимо настроить авторизацию по ключу для данных пользователей на второй машине при коннекте данных пользователей с первой.

Uncle Theodore

Снаружи — это по сети? Почему тогда просто не транслировать 22 порт с первой машины на вторую, iptables’ами? То есть, на первой присобачить такое правило

iptables -t nat -A PREROUTING -d $MYIP -p tcp\

--dport 22 -j DNAT --to $SERVERIP

iptables -t nat -A POSTROUTING -d $SERVERIP -s 192.168.0.0/24 -p tcp\

--dport 22 -j SNAT --to $MYIP

Good Luck,

UT

Genie

хех.

Почему тогда просто не транслировать 22 порт с первой машины на вторую, iptables’ами?

во-первых, тут в условии: «есть две машины с FreeBSD.» Iptables отдыхають ;)

во-вторых,

Надо сделать так, чтобы когда некоторые пользователи, которые снаружи логинились на первую машину перенаправлялись на вторую

средствами пакетного фильтра определить конкретных пользователей нельзя….

ps: хотя, это надо дождаться вопрошавшего ;)

anonymous

Я думаю скорее подойдет первый способ, т.к. это надо не для всех пользователей, а для некоторых.

anonymous

Т.е. надо прописать ssh в /etc/shells?

Авторизацию по ключу это как?

Uncle Theodore

Сорри, эт я тормознул. Только что проснулся…

Good Luck,

UT

Genie
Т.е. надо прописать ssh в /etc/shells?

видимо. с полным путём до него.

можно и не прописывать, умолчальный shell неменять, а изменить ~/.profile (или что там на фре используется для исполнения команд при входе пользователя) для запуска команды на соединение со второй машиной.

Авторизацию по ключу это как?

если пользователей не напряжёт вводить второй раз пароль — то этого можно и не делать.

а делается это просто — заходится на первой фре под данным пользователем. запускается `ssh-keygen rsa` (или dsa). вводится пустая passphrase. полученный ~/.ssh/id_rsa.pub (или dsa) добавляется в ~/.ssh/authorized_keys необходимого пользователя на вторую фрю.

anonymous

Спасибо! Сделал немного по-другому: написал маленький скриптик на sh, который запускает ssh и поставил его шеллом %))