ssh


ramok аватар

tar + ssh

GNU tar умеет создавать архив на удалённой системе через ssh

$ tar --rsh-command=/usr/bin/ssh -jcvf host:/tmp/archive.tar.bz2 dir-or-files
5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

Настройка удалённого рабочего стола на tightvnc

Настройка удалённого рабочего стола на tightvnc.

Имеем:
1. work - компьютер на работе с ubuntu 10.04 (имеет белый ip или возможность прямого проброса портов через роутер)
2. home - компьютер дома с ubuntu 10.04 (имеет серый ip, например в сети передачи данных Beeline Internet)
3. Интернет и руки.

Что нужно:
Как зайти на удалённый рабочий стол из дома на работу (например во время болезни),

Приступим:

0
Ваша оценка: Ничего
banda аватар

SSH: Прокси сервер из своего хостинга.

В поисках создание собственного прокси сервера нашел в инете интересную статью, но для windows.
Поправил и было сделано под линукс (хотя оригинал был сделан из nix под винду):
1. Подключаемся к хостингу и открываем за одно порт-форвардинг через ssh:

$ ssh -D8080 your@hosting

Вводим пароль.

2. В браузере выбираем socks прокси 127.0.0.1:8080
И все! Работает на ура.

Оригинал

0
Ваша оценка: Ничего
bliznezz аватар

Докачка с scp. со вкусом openssh.

в теме Докачка с scp. Способы решения проблемы отлично решили проблему на стороне клиента с помощью curl и поддержки curl-лом sftp/scp протокола.
Вот только я не смог научиться подать в качестве параметра curl ключ, дабы избежать интерактивности с вводом пароля или открытым текстом его давать в качестве другого параметра.

предлагаю вашему вниманию скриптик (true unixway) для докачки по ssh.

scpresume login@remote.org.ua -f /var/log/fastgrow/remote.log -t /tmp/localcopy.log
0
Ваша оценка: Ничего
bliznezz аватар

multiple ssh private keys

Про безпарольную авторизацию в ssh с помощью ключей не пишет разве что ленивый. Зачастую бывает нужно использовать разные ssh-ключи для различных групп серверв/хостов.
Например по ролям, территориальному признаку, логину ... ну и вообще..

Набирать каждый раз полный путь к файлу с ключем, а главное помнить в каких случаях какой ключ нужен - лень. Да, лень двигатель прогресса: видел как люди пишут алиасы на такие ssh-команды (сам такой), а еще пишут про ssh-agent. но в этом типсе пример работы с несколькими ключами, и распределеним каким ключем на какой хост ходить.

собственно типс - перевод статьи "multiple ssh private keys" Karanbir Singh

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
banda аватар

Оптимизация канала для ssh соединения.

Обнаружил что за одну минуту работы с ssh через GPRS соединение у меня уходит до 750 кБ в зависимости от режима работы.
И решил я это дело прооптимизировать используя сжатие канала.

0
Ваша оценка: Ничего
banda аватар

Автоматизировать систему или команды crontab

У вас офисная или домашная сеть?
У вас несколько компов и вам часто приходиться их синхронизировать?
Вам надоели каждый день повторяющие команды?
Вам надо "говорящие часы" или напоминалка умеющий отправлять смсы или письма?
Тогда этот совет предназначен для вас.

0
Ваша оценка: Ничего
ramok аватар

Скачка и закачка файлов в текущей ssh сессии

Если вместо ssh использовать zssh, то появляется дополнительная возможность скачать/залить файл на удаленную систему прямо в текущей сессии.
Для этого используются стандартные програмки sz/rz для отправки/получения файлов через терминал из пакета lrzsz.

Что бы не забывать запускать zssh вместо ssh сделал себе алиас в ~/.zshrc

# где то в начале файла
autoload -U compinit
compinit -u ~ ## disable security check in home directory
 
# ...
 
if which zssh > /dev/null; then 
    alias ssh=zssh
    compdef zssh=ssh # что бы автодополнение для zssh работало так же как и для ssh
fi

Так же удобно в случае когда у вас на удаленном сервере есть sudo, то можно отправлять/получать файлы на которые у вашего пользователя обычно нет прав (например /etc/shadow Ж:-) В противном случае пришлось бы мучатся с копированием, изменением прав на файл и подобное.

Выдержка из help (не забываем прочитать man)

Usage :
  Download : run sz on the remote shell before switching to transfer mode
             then type rz
  Upload   : switch to transfer mode and type sz <files>
             rz will be automatically run on the remote side
 
Tips:
  - If file transfer never completes, use the -e option of sz/rz
  - Transfers can be interrupted with ^C
  - If you get stuck in rz/sz (for example you've just ran rz, but you
    then decided not to transmit anything), hit a dozen ^X to stop it
  - Use sz -y <files> to overwrite remote files

И как обычно, живой пример использования:
зайдя с ноутбука komarik на машину komar захотелось забрать одну книгу и залить другую.

5
Ваша оценка: Ничего Рейтинг: 5 (3 голоса)
alexu аватар

Как ограничить доступ к серверу только по SFTP

Бывает, нужно ограничить доступ к компьютеру только по SFTP, не давая пользователям возможности залогиниться в shell. Для этого нужно сделать 2 вещи:
1. Добавить sftp-server в список разрешенных шеллов:

Найдите sftp-server на вашем сервере (для Debian/Ubuntu это будет /usr/lib/sftp-server, для RHEL это /usr/libexec/openssh/sftp-server). Добавьте нужный вам полный путь к нему отдельной строчкой в /etc/shells

# echo '/path/to/sftp-server' >> /etc/shells

где /path/to/sftp-server - полный путь к вашему sftp-server

2. Поставить sftp-server шеллом нужного пользователя

Либо отредактируйте /etc/passwd и поставьте опять же полный путь к sftp-server в пользовательской записи вместо /bin/bash, либо воспользуйтесь командой usermod, i.e.

# usermod -s /path/to/sftp-server userid

, где /path/to/sftp-server - полный путь к SFTP на вашей системе, а userid - имя пользователя

0
Ваша оценка: Ничего
ramok аватар

Ссылка: 10 трюков в командной строке, о которых вы не знали. Честное слово.

10 трюков в командной строке, о которых вы не знали. Честное слово.

Рекомендую так же почитать коментарии, так как в статье не всегда оптимально.

via nexus

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Запускаем sshd под cygwin (windows)

Полная дока тут. .
Это выдержки и краткое описание возможных проблем.

0. Генерируем локальные /etc/passwd и /etc/group

$ mkpasswd -l > /etc/passwd
$ mkgroup  -l > /etc/group

1. Устанавливаем пакет openssh через setup.exe cygwin-а

2. Настраиваем sshd

$ ssh-host-config  -y

3. Если у вас установлен tcp_wrapper то нужно закоментировать все строки с deny в /etc/hosts.allow

$ sed -i -e 's/.*deny.*/#&/' /etc/hosts.allow

4. Запускаем sshd

$ cygrunsrv  --start  sshd

Если где то сбоит, смотрим в логи

$ mmc eventvwr.msc

Например где то в PATH может лежать дублирующийся cygwin1.dll (у меня в WinAVR).
Или выдавало ошибку с fork(): которая фиксилась отключением сервиса "Logitech Process Monitor".
(кстати отключение этого сервиса так же вылечило сбои при запуске zsh o_O)

0
Ваша оценка: Ничего

зайти в screen на удалённой системе

Требуется: Приатачиться к screen, запущенному на удалённой системе с минимальным количеством телодвижений.

Решение:
Не обязательно, но все таки:

1. делаем беспарольную аутентификацию как рассказно здесь

затем

2.

$ ssh -t login@host 'source .bashrc; screen -x'

Готово!

3. И на последок, что бы все вышеперечисленное таки совершалось с наименьшим количеством телодвижений, создаем скрипт:

$ cat >remotescreen
!#/bin/sh 
ssh -t login@host 'source .bashrc; screen -x'
 
$chmod 755 remotescreen

3.a ... или делаем алиас в любимом .*shrc

alias remotescreen="ssh -t login@host 'source .bashrc; screen -x'"

P.S. в пункте 2 заменить .bashrc на соответствующий .zshrc, итд...

0
Ваша оценка: Ничего
alexu аватар

SSHFS в две строчки

Чтобы начать работать с sshfs (монтирование удаленных файловых систем через ssh), необходимо
1) установить пакет sshfs

apt-get install sshfs

2) добавить пользователя в группу fuse или воспользоваться sudo:

sudo sshfs user@machine:directory localdirectory

где user@machine - логин и имя удаленной машины, directory - подмонтируемая директория на удаленной машине (если ее пропустить, подмонтируется домашняя директория пользователя user), localdirectory - локальная директория для маунта.

2a) чтобы позволить другим людям воспользоваться маунтом, укажите опцию '-o allow_other' после localdirectory.

3) отключение производится командой

fusermount -u localdirectory

P.S.: Если вы получаете ошибку:

fuse: failed to exec fusermount: Permission denied

убедитесь, что вы выполнили пункт (2). За остальными опциями добро пожаловать в man sshfs :-)

0
Ваша оценка: Ничего

Доступ к компьютеру за файерволом

Бывает, что требуется получить доступ к компьютеру, который находится за файерволом или выходит в интернет изза NAT. Файервол пропускает исходящие соединения, но не впускает входящие. Хочется настроить зафаерволенный компьютер так, чтобы к нему впоследствии можно было подключиться. В этом случае можно действовать разными способами (специальные программы вроде zebedee здесь не рассматриваются).

0
Ваша оценка: Ничего
ramok аватар

Как выжить в Windows без переключения расскладок по CapsLock

1. если вы в Windows только для того что бы подключится по ssh куда нибуть и набрать там письмо или отправить sms сообщение, то самый простой вариант взять популярный ssh клиент putty у которого есть встроенная опция по CapsLock переключатся на кириллицу. В настройках соединения ставим галочку в Window -> Translation -> Caps Lock acts as Cyrillyc switch и наслаждаемся результатом Ж:-)

2. Если вы задержались в Windows подольше и хотите перелючатся по CapsLock во всех приложе ниях, то тут поможет програмка lswitch.exe которую можно взять тут . Запускаем как:

 
lswitch.exe 20 
спасибо nexus за типс Ж:-)

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

0
Ваша оценка: Ничего
ramok аватар

Сетевые возможности vim

Редактировать файл .zshrc в домашней папке пользователя user,
по протоколу scp на машине remote.org.ua

$ vim scp://user@remote.org.ua/.zshrc

Редактировать файл /etc/motd пользователем root,
по протоколу sftp на машине remote.org.ua

$ vim sftp://root@remote.org.ua//etc/motd

Бровзить в директории pub в домашней директории юзера ftp, по протоколу ftp

$ vim ftp://ftp@remote.org.ua/pub

Имеется возможность выбрать файл для редактирования, удалять/создавать/неперименовывать
директории/файлы, скачивать файлы, просматривать файлы во внешних просмотрщиках (например *.jpg
с помощью feh), создавать букмарки на директории и иметь возможность возвращатся в эти директории
по букмаркам, различные способы сортировки имен файлов/директори, списки файлов и директорий
который не нужно отображать.. и многое другое можно прочитать в помощи vim:

:help netrw-browse
4
Ваша оценка: Ничего Рейтинг: 4 (1 vote)
ramok аватар

Автоматический запуск ssh-agent

Ранее было рассказано как настроить ssh-agent для автоматической авторизации приложений работающих с ssh. Если вы не используете X-Windows, то ssh-askpass вам не поможет. Зато можно настроить запуск ssh-agent в вашем шеле.

Идея в том что бы указать сокет ssh-agent с жестко заданным именем, и если ssh-agent незапущен, то запустить его.

добавляем в ~/.zshrc или ~/.bashrc

[ ! -S ~/.ssh/ssh-agent ] && eval `/usr/bin/ssh-agent -a ~/.ssh/ssh-agent`
[ -z $SSH_AUTH_SOCK ] && export SSH_AUTH_SOCK=~/.ssh/ssh-agent
0
Ваша оценка: Ничего
ramok аватар

Настройка _безопасной_ безпарольной аутентификации по ssh

Вот здесь описан способ безпарольной авторизации http://linsovet.com/ssh-auth-pubkey
Обратите внимание на пункт 1) где мы отказываемся от ключевой фразы на файл с приватным ключем. Это обозначает что, если злоумышленник украдет у нас этот файл, он сможет авторизироватся на нашем сервере без пароля.

Решением этой проблемы - установка ключевой фразы на файл с приватным ключом. Но тогда нам придется вводить это фразу каждый раз при использовании ssh. Получается что поменяли шило на мыло, и вместо пароля на сервер, вводим пароль к ключу. Это конечно лучше, когда у вас десяток серверов, и на все нужно помнить пароли. Но хочется же безпарольной авторизации, и притом что бы не даже украденый ключ ничего не мог дать злоумышленнику.

0
Ваша оценка: Ничего
ramok аватар

Скрипт для временного поста файлов в интернет

Часто бывает что нужно временно выложить в интернет какой нибудь файл и дать ссылку для скачивания. Этот скрипт облегчает заливку файлов на сервер по ssh и выводит урл
Пример использования:

$ postit bin/postit bin/postit.html
postit                                    100%  370     0.4KB/s   00:00    
postit.html                               100% 2060     2.0KB/s   00:00    
http://remote.org.ua/tmp/postit
http://remote.org.ua/tmp/postit.html
#!/bin/sh
# by ramok (c) 2006  idea by nexus
# upload files by ssh, and show url
 
# change your settings hire
SSH_URL=user@remote.org.ua:~user/www/data/tmp/
WWW_URL=http://remote.org.ua/tmp/
 
# try do not touch below Ж;-))
[ -z $1 ] && printf "Usage: `basename $0` file [file..]" 1>&2 && exit 1
 
scp $@ $SSH_URL
echo $@ | sed -e 's|[^ /]*/||g' -e 's|\([^ /]*\)[ ]*|'${WWW_URL}'\1\n|g'
0
Ваша оценка: Ничего
ramok аватар

Запрет запуска sshd в debian

touch /etc/ssh/sshd_not_to_be_run

0
Ваша оценка: Ничего