ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
ÞфøÑÂýþõ ÷ðÿðôûþ - Xakep Online
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ХАКЕР.PRO<br />
$ tar zcf — ~/coding | ssh remotehost<br />
'cat > coding.tgz'<br />
Примечание редактора: при трансфере двоичных<br />
данных всегда проверяй размер исходных<br />
и целевых файлов — баги могут подстерегать в<br />
самых неожиданных местах:<br />
% dd if=/dev/arandom of=/tmp/file1<br />
bs=1k count=1k 2>/dev/null<br />
% ssh -t localhost "cat /tmp/file1"<br />
>/tmp/file2<br />
% ls -l /tmp/file*<br />
— rw-r--r-- 1 andrushock wsrc<br />
1048576 May 11 13:55 /tmp/file1<br />
— rw-r--r-- 1 andrushock wsrc<br />
1066982 May 11 13:56 /tmp/file2<br />
Чтобы рекурсивно отправить весь каталог,<br />
набираем:<br />
$ scp -r mydir user@host.domain.<br />
ru:~/<br />
Конфиг OpenSSH<br />
077"; \<br />
pub<br />
cat > .ssh/authorized_keys" < .ssh/id_rsa_backup.<br />
Затем редактируем authorized_keys (ключ ‘-t’ следует использовать при<br />
запуске программ, требующих для работы наличия псевдотерминала):<br />
$ ssh -t remotehost vim .ssh/authorized_keys<br />
from="192.168.0.*,212.34.XX.YY",command="cd /work; tar<br />
cvf — ./* | bzip2 -9",no-pty,no-agent-forwarding,no-<br />
X11‐forwarding,no-port-forwarding ssh-rsa AAAA[...]<br />
И запускаем процедуру резервного копирования:<br />
$ ssh -i .ssh/id_rsa_backup remotehost > \<br />
~/backup/work-'date +%d%m%Y'.tar.bz2 2>/dev/null<br />
Для безопасного получения почты к fetchmail<br />
легко прикрутить ssh. Для этого создаем файл<br />
~/.fetchmailrc с содержанием:<br />
poll localhost with protocol pop3 and port 8110:<br />
preconnect "ssh -f -q -C user@213.167.XX.YY \<br />
-L 8110:213.167.XX.YY:110 sleep 10" password<br />
noIdea;<br />
Забираем почту:<br />
$ fetchmail<br />
1 message for user at localhost (8062 octets).<br />
reading message user@localhost.domain.ru:1 of 1 (8062<br />
octets)....... flushed<br />
Организовав защищенный туннель, можно перенаправить в него любой<br />
трафик. Например, смонтируем удаленный ресурс Samba по каналу, организованному<br />
через SSH:<br />
Каталог /work, находящийся на сервере remotehost, будет сохранен в<br />
архив ~/backup/work-11052008.tar.bz2.<br />
Защищаем сетевые соединения<br />
Используя SSH, можно защитить информацию, которая передается программами,<br />
не имеющими встроенных механизмов шифрования соединения.<br />
Например, сделаем бэкап с помощью dump(8) на удаленный сервер:<br />
$ ssh -L 8139:domain.ru:139 user@domain.ru<br />
SSH-форвардинг в зависимости от того, где перенаправляются пакеты,<br />
можно организовать двумя способами: локально (ключ '-L ') или удаленно<br />
('-R '). Во многих системах открывать соединения с портами ниже<br />
1024 имеет право только root, поэтому выбираем 8139. Теперь монтируем<br />
удаленный ресурс:<br />
$ sudo dump -0au -f — /dev/rwd1a | gzip -9 | \<br />
ssh remotehost 'dd of=cvs_backup.dump.gz'<br />
$ smbmount //domain.ru/share /mnt -o username=user,ip=lo<br />
calhost,port=8139<br />
Хотя, если немного постараться, dump можно и без применения каналов<br />
подружить с ssh:<br />
Аналогично можно туннелировать и любой другой трафик. Например,<br />
организуем подключение к удаленному SMTP-серверу через SSH:<br />
$ ssh remotehost touch /home/user/cvs.dump<br />
$ env RSH='which ssh' sudo -E dump 0f remotehost:/home/<br />
user/cvs.dump /cvs<br />
Передать файл, используя OpenSSH, можно одним из следующих способов:<br />
$ cat myfile | ssh remotehost 'cat > myfile'<br />
# ssh -L 25:domain.ru:25 user@domain.ru<br />
Альтернативным решением будет использование файла authorized_<br />
keys и запуск с помощью xinetd.<br />
# cat ~/.ssh/tunnel_key<br />
command="nc localhost 25",no-X11‐forwarding,no-agent-<br />
xàêåð 06 /114/ 08<br />
131