URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 30446
[ Назад ]

Исходное сообщение
"Как определить адрес машины, с которой..."

Отправлено octy , 30-Май-03 00:32 
Конкретная задача: пользуюсь X через ssh, с разных адресов. Необходимо до запкска bash определить адрес, с которого я подключился, чтобы установить переменную DISPLAY и прописать ее в .bash_profile или .cshrs (облоча значения не имеет). Как это можно сделать?

Ситуация вроде проста, но моих знаний не хватает :(.


Содержание

Сообщения в этом обсуждении
"Как определить адрес машины, с которой..."
Отправлено xan , 30-Май-03 01:30 
Try this:

    if ($?REMOTEHOST) then
        setenv DISPLAY ${REMOTEHOST}:0
    else
        setenv DISPLAY :0
    endif


"Как определить адрес машины, с которой..."
Отправлено octy , 30-Май-03 01:44 
>Try this:
>
>    if ($?REMOTEHOST) then
>        setenv DISPLAY ${REMOTEHOST}:0
>    else
>        setenv DISPLAY :0
>    endif


Да так пробовал, не получается. Может я что-то не понимаю, но $REMOTEHOST не определена. И вообще,
env | grep my.host.name
мне ничего не выводит.


"Как определить адрес машины, с которой..."
Отправлено lavr , 30-Май-03 13:09 
>>Try this:
>>
>>    if ($?REMOTEHOST) then
>>        setenv DISPLAY ${REMOTEHOST}:0
>>    else
>>        setenv DISPLAY :0
>>    endif
>
>
>Да так пробовал, не получается. Может я что-то не понимаю, но $REMOTEHOST

именно не понимаешь, выполни env и внимательно посмотри переменные,
если не дойдет, читай документацию по SSH/OpenSSH, ну или:

http://unix1.jinr.ru/~lavr/ - там ну все расписано

>не определена. И вообще,
>env | grep my.host.name
>мне ничего не выводит.


"Как определить адрес машины, с которой..."
Отправлено octy , 30-Май-03 13:31 
ну хорошо. Есть допустим $SSH_CLIENT == "10.0.0.10 1034 257.2.32.11 22" так как быть с тем, чтоя в локалоной подсети со своей адресацией?

"Как определить адрес машины, с которой..."
Отправлено lavr , 30-Май-03 13:56 
>ну хорошо. Есть допустим $SSH_CLIENT == "10.0.0.10 1034 257.2.32.11 22" так как
>быть с тем, чтоя в локалоной подсети со своей адресацией?

понял что написал в переменной SSH_CLIENT?

технологические адреса не имеют права выходить наружу, в ином случае
IPSEC или иная замена. Ну и потом, никто не запрещает использовать
SSH на фаейрволе для проброса, если протоколы позволяют.


"Как определить адрес машины, с которой..."
Отправлено Antonio , 30-Май-03 09:52 
>Конкретная задача: пользуюсь X через ssh, с разных адресов. Необходимо до запкска
>bash определить адрес, с которого я подключился, чтобы установить переменную DISPLAY
>и прописать ее в .bash_profile или .cshrs (облоча значения не имеет).
>Как это можно сделать?
>
>Ситуация вроде проста, но моих знаний не хватает :(.

Воспользоваться штатной возможностью ssh по имени X11-форвардинг (как я писал на ЛОРе) никак нельзя?


"Как определить адрес машины, с которой..."
Отправлено octy , 30-Май-03 10:01 
Так сейчас етим и пользуюсь. Только при работе с OpenGL все заметно тормозит, хочется чуть быстрее...



"Как определить адрес машины, с которой..."
Отправлено Antonio , 30-Май-03 10:07 
>Так сейчас етим и пользуюсь. Только при работе с OpenGL все заметно
>тормозит, хочется чуть быстрее...

Еп... ;-) Вы OpenGL через сеть гоняете? Сочувствую.


"Как определить адрес машины, с которой..."
Отправлено octy , 30-Май-03 10:33 
Да блин, коммерческая софтина, с лицензией на 1 машину.
Но вопрос не в этом: можно ли принципиально узнать, с какого адреса я подключился?


"Попробуй"
Отправлено Vakero , 30-Май-03 11:00 
>Конкретная задача: пользуюсь X через ssh, с разных адресов. Необходимо до запкска
>bash определить адрес, с которого я подключился, чтобы установить переменную DISPLAY
>и прописать ее в .bash_profile или .cshrs (облоча значения не имеет).
>Как это можно сделать?
>
>Ситуация вроде проста, но моих знаний не хватает :(.

# netstat -a|grep `hostname`'.22'|awk '{print $2}'

У меня на соляре сразу дает адрес клиента ssh вместе с портом, а дальше уж сам (это правда, если sshd у тебя на 22-ом порту сидит)


"Попробуй"
Отправлено octy , 30-Май-03 13:17 
На солярке может и проходит, но не на фришке, не на линуксе нет.
выдает во-первых hostname.ssh, а не hostname.22 как на солярке, наверное, а во вторых из-за формата вывода обрезает имя компьютера. Штука с netstat -n не прокатывает, т.к. часть компов в подсетке с внутренней адресацией. И потом, если есть подключение сразу с нескольких компов, как узнать таким образом, какое именно к тебе относится?


"Попробуй"
Отправлено Vakero , 30-Май-03 14:08 
>На солярке может и проходит, но не на фришке, не на линуксе
>нет.
>выдает во-первых hostname.ssh, а не hostname.22 как на солярке, наверное, а  
это не принципиально

>во вторых из-за формата вывода обрезает имя компьютера. Штука с netstat -n
>не прокатывает, т.к. часть компов в подсетке с внутренней адресацией. И
>потом, если есть подключение сразу с нескольких компов, как узнать таким
>образом, какое именно к тебе относится?
очень просто - у тебя есть логин, у тебя есть who ! - только если под одним логином с нескольких адресов - тогда проблема