Pull to refresh

Comments 96

Да уж, ssh — чудесная штука)) Пока болел лежал, с помощью нетбука, не вставая с кровати, настроил общий доступ к файлам, включал на компе в соседней комнате музыку и просто звуковые файлы с просьбами чайку там с делать и т.п))))
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Когда пинг 150-200 по ssh еще можно хоть как-то работать, а через rdp, vnc — не выносимо.
UFO just landed and posted this here
Если в этом контексте, то да, кому-то удобно. Но я большую часть работы делаю в консоли и на локальной машине. Это скорее всего выбор каждого, чем лучше или хуже.

Хоть SSH и лучше :)
UFO just landed and posted this here
echo 'КУКУ!' |lp
Если не ошибаюсь… не пользуюсь принтером. Но в консоли можно написать say 'куку, возьми трубку'. Между прочим, Линус сказал, что если бы не Firefox, то иксы он и вовсе не ставил бы.
UFO just landed and posted this here
Толковое GUI есть и в линуксе, но все эти окошки, мастеры… Я же вверху написал, что каждому своё.
Вы не понимаете консоль, а мне в ней проще за пару секунд написать команду или скрипт. Я чувствую себя неуютно, когда много окон. Наверно это связано с тем, что я боюсь в них потеряться.
UFO just landed and posted this here
Вы так написали.
Если хотите поспорить, то мой джаббер указан у меня в профайле. :)
UFO just landed and posted this here
Не думал что буду вступать в спор, и поддерживать опонента GUI. Мне вдруг вспомнился один факт.
Многозадачность рассеивает внимание, а в оконном режиме приходится заниматься десятком дел параллельно. Приложения требуют внимания к себе, попапы, алерты, сигналы…
А консоль позволяет сосредоточиться на задаче.
UFO just landed and posted this here
предположим Вы хотите зажарить лазанью и постирать белье, как вам поможет GUI?
UFO just landed and posted this here
Тем, что Вы ради своего троллинга забиваете гвозди гаечными ключами. Консоль создана не для того, чтобы рендерить трехмерные мультики, а вот управлять музыкой, фильмами на телевизор и прочим через нее в данном случае удобнее, чем ворочать еще одно гигантское окно рабочего стола на ноутбуке, лежа на кровати.
UFO just landed and posted this here
UFO just landed and posted this here
Очень хороший материал. пока весь не осилил, послезавтра на работе сам внимательно прочту и помошника заставлю.
«есть во всех популярных операционных системах, будь то Linux или MacOSX»
Не холивара ради, но где здесь, простите, Windows?
Хоть бы упомянули о putty.
ну так всё правильно, сказано же — «популярных», а Windows просто распространена =)
Ага, действительно, просто мировой заговор. Популярные ОС не являются распространенными, так мило ;)
Если популярность мерять именно оценками пользователей а не количеством установленных машин, то вероятно так оно и есть.
Кто-нибудь проводил независимые опросы на достаточно большой выборке пользователей?
к сожалению для большинства пользователей компьютер-виндоус-интернетЭксплорер это все одно большое целое…
Как ни крути винда популярнее, для тех, кто читает хабр, через ssh просит чайку принести, linux, конечно интереснее, а для среднестатистического юзера, которому важно, чтобы без всяких танцев с бубнами всегда работали одноклассники, ворд, музыка и фильмы винда подходит больше. Да и по качеству пользовательского по винда часто впереди: я так и не нашел достойной замены punto, Lingvo, active sync :) WM keeper'a, графического mysql клиента, ftp клиента (хотябы на подобии total commander). умеющего работать серез http proxy.
Ну добавлю свою каплю — MySQL Query Browser.
Total Commander — Krusader.

Сам не так давно использую Линукс — у меня когда то был десктопный OpenSuse, но руки не доходили заниматься изучением, а тут на работе Линукс… Уже нравится. В частности очень нравится работать через ssh.

К стати, насчет GUI. Я лично иногда в консоли делаю что-то вроде
php -a
echo (80000*8)/1024/1024;

Ну или
mysql
select count(*) from `table`

А модуль поставить? У меня VDS, через ISPManager не ставились модули на PHP. На машине стоит FreeBSD… 1 строчка и pdo_mysql установлен.

И что я заметил: когда я только начинал работать было сложновато и естественно после винды отдавал предпочтение GUI. Сейчас если мне надо кусок кода найти, то уже порой grep'ом, а не NetBeans.

Вывод:
Консоль — хорошо,
Автор — спасибо.
А в винде нужно ставить дополнительный софт. Неразумно мелкософтом обходить стороной данный вопрос и не всунуть в систему такую возможность
ssh всё же удел никсоидов, у Microsoft — Terminal Server и иже с ним
Поставил SSH на винде. Хоть и меньше могу сделать в вин-консоли, зато не важно линукс или винда загружены — могу удаленно рубануть или ребутнуть комп.
Putty пока что не входит в список стандартных программ, а ssh в macos и linux входит. не нужно нигде искать то, чего автор сказать не хотел.
Не хватает только туннелей и переброса портов, в т.ч. динамического (SOCKS) :)
UFO just landed and posted this here
И про обратный туннель тоже было бы для многих полезно

# ssh -N -R 5555:localhost:22 user@server.ru

— создаёт как бы локальный прокси на user@server.ru на 5555 порту, при использовании которого трафик перенаправляется на текущий/локальный комп (с которого выполнили команду) на 22 порт.
Т.е. есть, например, два компа за неподконтрольными файрволами и один доступный обоим сервер. Допустим надо с работы попасть на домашний комп, тогда с домашнего выполняем указанную команду, а на работе заходим по ssh на этот server.ru, выполняем

# ssh -p 5555 localhost

И вуаля — мы уже на домашнем компьютере
Спасибо, актуально :)
Чудеса творить можно еще с помощью связки ssh + dcop. Например получить доступ к интерфейсу Амарока, которым в данный момент кто-то пользуется, и командами из консоли менять громкость, списки воспроизведения и т.д.
d-bus по актуальней будет.
Не совсем к статье, но…
Чтобы запустить на удалённой машине графическое приложение из под пользователя root, для которого ssh обычно запрещён, можно использовать su -p — Да, не могу я жить без gparted 8)
да можно еще много чего добавить, ControlMaster, ProxyCommand, но по времени пока все описать не успел. Возможно дойду до второй части этой статьи позже, а пока получился неплохой материал для начинающих.
Может лучше сначала написать более подробное вступление — что такое ssh, как его настроить и как его использовать? А то, всё-таки, не совсем для простых пользователей получилось — они вообще не знают, что такое консоль ;)
Спасибо за полезную информацию, побольше бы таких статей на хабре.
Постоянно управляю по SSH своим VPS, запускаю там парсеры и тд.
Для входа чтоб не вводить пароль использую конструкцию
putty.exe user@server -pw password
Незнаю правда как с подожными параметрами в линуксовсском ssh.
UFO just landed and posted this here
Знаю что нельзя, но поскольку запускаю команду ярлыком с одного только моего компа, то думаю риск приемлем, для меня.
putty тоже умеет авторизовываться по ключу. А вообще, когда мне приходится пользоваться виндой, один из первых необходимых инструментов для меня — cygwin. Он делает из распространённой системы популярную :)
баш не сохраняет в истории команды если перед ней поставить пробел
Можно реализовать через sshpass, если интересует поделюсь конструкцией.
а вы не спашивайте — делитесь)
нам, нубам, полезно:)
Прежде всего нам потребуется программка sshpass (Есть в репозиториях)
После инсталляции, на сервер можно зайти использую подобную конструкцию.

sshpass -p [yourpassword] ssh [yourusername]@[host]
Спасибо, узнал кое-что новое. Например, не знал про
$ tar cf — /путь_к_источнику | ssh babl@babl.starlink.ru "(cd /путь_к_папке_назначения; tar xpf -)"
Ещё есть классная штука sshfs — монтирование удалённой ФС.
Ага, у меня макбук с дебианом по sshfs файлы расшаривают. Намного удобнее, чем, например самбу настраивать. И вроде как(субъективно) побыстрее чем ftpfs.
Нагрузка на процессор при передаче файлов выше, т.к. данные шифруются. Так что странно, что быстрее ftpfs.
на FTPFS срабатывают лимиты скорости, кроме того накладывается скорость FTP-сервера)
Научите меня пожалуйста (линк дайте) на драйвероподобный софт, чтоб научить Win (7) с SSH/SCP общаться так как он сейчас умеет с FTP. Т.е. добавить удаленую папку с «Компьютер» и поехал. WinSCP конечно хорошо, но мне хочется интеграции в саму оболчку.
UFO just landed and posted this here
Странно искали, вчера (до прочтения комментов) понадобилось подмонтировать ssh сервер на седьмой винде как диск\папку, нашел с первого же запроса первой или второй ссылкой в гугле.
UFO just landed and posted this here
Оно что, платное?
Жаль, придется обойтись WinSCP
X11Forwarding не так интересен как агент ssh и форвардинг агента.
Чтоб не вводить пароль каждый раз при коннекте к серваку (ключь без пароля не следует использовать) можно использовать ssh-agent.
Скорее всего при старте иксов он уже запущен и достаточно сделать
ssh-add

И ввести ключик один раз. Далее пока жив терминал в котором введена комманда — пароль к ключу спрашиваться не будет.
Если же ssh-add говорит, что агент не найден — смело делаем
ssh-agent bash

А внутри запущенного шела — пишем — ssh-add.
Ну а ещё полезнее фича называемая — SSH-Forwarding.
Она позволяет использовать агент на машине пользователя при коннекте к группе серверов. Тоесть зашел на один сервер, а с него без ввода пароля и пароля к ключу — простой коммандой ssh hostname — перейти на другой сервер.
Скоммандлайна надо использовать
ssh -A hostname

Ну а лучше в конфиге клиента ssh (/etc/ssh/ssh_config) прописать
ForwardAgent yes
> Чтоб не вводить пароль каждый раз при коннекте к серваку (ключь без пароля не следует использовать) можно использовать ssh-agent.

Люто, бешено плюсую. Любой кто получит доступ к машине с которого идет ssh коннект, получает доступ и к серверу. К тому же, ssh трафик можно проследить до вашего компа и взломать его. А я уверен на 90% что он защищен хуже, чем сервер.
Плюс есть еще такая хорошая штука, как keychain.
It acts as a front-end to ssh-agent, allowing you to easily have one long-running ssh-agent process per system, rather than per login session. This dramatically reduces the number of times you need to enter your passphrase from once per new login session to once every time your local machine is rebooted.
Отличная статья, много что пользую сам, а некоторые вещи (типа X11forwarding) даже не подозревал что можно творить ;) Ждём-с продолжения и ещё трюков
Интересная статья, про файлы не знал, всегда приходилось использовать фтп для передачи.
Кстати для перенаправления иксовых приложений можно использовать ключ -X
Более того не можно, а нужно. -X безопаснее, -Y работает чаще, но небезопасен.
А проброс портов с помощью SSH тоже можно сделать?
Скажем есть putty на PC_1 с Windows и он коннектится к серверу с Linux-ом по SSH
За сервером есть NAT и комп с виндовз (PC_2)
Цель: зайди по Remote Desktop Connection с PC_1 на PC_2
Туннелирование траффика вполне возможно.
Вообще это не совсем туннелирование, это скорее переброс портов. А есть еще действительно туннели, ключ см. -w
Смотрите в строну ключей -R и -L
Как раз сможете настроить туннель через каскад серверов.
В настройках соединения Putty с NAT-сервером в Connection->SSH->Tunnels вписываете
Source port: 12345
Destination: IP_of_PC_2_as_seen_by_NAT_server:3389
и нажимаете Add.
После установки PuTTY ssh соединения с NAT-сервером, открываете ремоут десктоп на localhost:12345 и оказываетесь на PC_2.
ага — спасибо, разобрался.
Еще полезно включить сжатие на Connection->SSH
AllowUsers — указывает список пользователей, под которыми можно входить по SSH. Крайне рекомендую использовать эту опцию! Если ее нет в конфиге — создайте.
AllowUsers babl,vasya

логины нужно перечислять через пробел, можно также писать логин@хост
спасибо, фикснул
UFO just landed and posted this here
К примеру поставить 33333, легко запоминается, а вот nmapом фиг достанешь.

Ну скажем от кулхацкеров — да. Но nmap могущь и может сканировать перебором портов и снимать банеры. В таком случае нужно банить таких клиентов. Плюс можно ещё рассказать про блэклисты, но это я уже придираюсь. Спасибо за статью ;)
Для пущей убедительности в утверждении о могуществе SSH можете скопировать (или сослаться) на статью с описанием ProxyCommand, написанную чуть более года назад.
И, да: некоторые сборки sshd требуют прав 0700 на .ssh и 0600 на .ssh/authorized_keys
Можно еще затронуть host-based авторизацию, которая является тоже интнрнсной фишкой.
Спасибо, давно пользовался, но за отсутствием практики всё уже подзабылось )
да менять порт sshd очень советую, достаточно посмотреть auth.log сколько добра со словарями ломиться в 22 порт
UFO just landed and posted this here
Про X11 forwarding написали, а рассказать про trusted X11 forwarding забыли.
-X Enables X11 forwarding
-Y Enables trusted X11 forwarding

Хотя в последнее время во многих дистрибутивах и для -X так же используется trusted (через sshd_config), но упомянуть об этом было б не лишним.
SSH может много больше. authpf например… при передачи файлов можно сделать так, чтобы шифровалось все самым слабым алгоритмом.
UFO just landed and posted this here
Также хочется упомянуть прекрасную утилиту PuTTY Connection Manager. Это прекрасная надстройка над PuTTY, которая позволяет делать то, чего раньше не хватало в нормальной работе по ssh в форточках.
В таком случае я от себя добавлю про улудшенную версию Putty: Putty Tray
По сути это тот же самый Putty с добавлеными возможностями:
сворачиватся в трей,
подсветка линков,
ну и конечноже самое главное обновленная(изменяемая) иконка :)

Замечательно работает с вышеупомянутым PuTTY Connection Manager-ом
UFO just landed and posted this here
Помимо PuTTY стоит упомянуть про puttygen.exe (генератор RSA и DSA ключей) и pageant.exe (an SSH authentication agent for PuTTY, PSCP and Plink) — оба нужны для той самой аутентификации по ключу из Windows.
Кстати, имхо, раз про scp сказал, стоило и про sftp тоже упомянуть.
Вопрос: >%h/.ssh/authorized_keys
Зачем надо %h?
Sign up to leave a comment.

Articles