от RED(28-08-2002)
рейтинг (4)
[ добре ]
[ зле ]
Вариант за отпечатване
По Danen, V., Making the most of OpenSSH
Едно от най-употребяваните преимущества на SSH е
възможността да се изграждат подсигурени тунели за
неподсигурени връзки. Всеки знае например, че POP3 е
неподсигурен протокол. Ако използувате команден ред (шел),
за да теглите пощата си от POP3-сървъра, можете да изградите
тунел за достъп до данните на сървъра посредством SSH.
Същото е напълно възможно и с Х-приложенията: на отдалечена
машина стартирате Х-приложение с графичен интерфейс и
виждате изхода на локалния екран.
Да приемем, че искате да установите връзка с отдалечен
POP3-сървър, условно наречен remotesystem, посредством SSH.
Първо трябва да изберете произволен порт от 1024 до 65535.
Например, взимаме порт 10110. Създавате SSH-тунел като
този:
ssh -L10110:localhost:110 remotesystem
Когато затворим шела, връзката ще се разпадне. Докато е
установена обаче, можем да изтеглим пощата си с POP3-клиент
с подсигуряване от SSH, като го закачим не за
remotesystem:110, а за localhost:10110.
Но да държим постоянно терминала отворен, това е
най-малкото неудобно. Можем с помощта на cron да искаме да
си проверяваме периодично пощата чрез fetchmail например.
Досадно ще е всеки път да пускаме терминал и да правим
пренасочване на портовете (port forwarding). Има два начина
да решим задачата - с временно и с постоянно
пренасочване.
ssh -f -L10110:localhost:110 remotesystem sleep 10
Тази команда казва на SSH да се стартира във фонов режим
(-f), да изгради нашия тунел и да изпълни командата
"sleep 10". След като командата се изпълни, SSH ще
преустанови връзката. Ако fetchmail поверява пощата на всеки
10 сек., SSH ще изчака с преустановяването на връзката,
докато трае проверката. Така давате възможност на
fetchmail да използува тунела, докато му трябва, но връзката
няма да остане отворена през останалия период от време.
Съществува и начин да проверявате пощата си през по-дълги
интервали, ако дадете на командата "sleep"
по-голяма стойност, например 10000.
Пренасочването на X11-данни работи на същия принцип. По
подразбиране Mandrake Linux идва с включена поддръжка на
X11-пренасочване. В конфигурационния файл
"/etc/ssh/ssh_config" опцията
"ForwardX11" е включена на "Yes". Когато
се ssh-вате за отдалечена система, можете да изпълнявате
X11-приложения от командния ред, така сякаш използувате
например xterm на локалната си машина. Както при всички *nix
системи, начините да стартирате отдалечени X11-програми са
много. Първият, най-често използуваният, е просто да се
SSH-нете за отдалечената система и да стартирате графичното
приложение. Например:
ssh user@remotesystem
gkrellm &
Вие се закачате за отдалечената система като потребител
"user" и стартирате програмата grellm, а знакът &
я инструктира да работи във фонов режим. Сега можете да
минимизирате терминала и да забравите за него. По-хитрият
начин да стартирате същата програма е по познатия от
предишния експеримент начин:
ssh -f user@remotesystem gkrellm
Сега вече можете да затворите терминала, но програмата
gkrellm ще остане да си работи, понеже ssh е стартиран
във фонов режим. Ако искате да преустановите връзката,
просто затворете gkrellm. По този начин ще прекъснете и
SSH-връзката с отдалечената система.
По материали на http://www.mandrakesecure.net/en/docs/openssh.php
<< Съвети и трикове от Линукс Феста: част 1 | Линукс на настолен компютър >>
|