Как стать автором
Обновить

Комментарии 131

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

scp -3 user@from-server:/home/user/backup.sql.gz user@to-server:/home/user/backup.sql.gz

Конечно при этом не работает прогресс-бар, но он и не нужен, достаточно посматривать на конечном сервере размеры и количество файлов.

А самое главное, что scp поддерживает конфиг из .ssh/config и не нужно дублировать параметры подключения к серверу

помнится я делал прогресбар для scp прогоняя пайп через pv.. если мне не приснилось то можете попробовать

С scp у меня не получилось, потому что оно не умеет читать stdin, но связка pv | ssh "cat" сработала. Для желающих попробовать можно взять код отсюда (строки 99-112).

Читать stdin не может, а вот писать в stdout вроде бы да.. Если честно не помню как реализовывал, может и через ssh cat..

НЛО прилетело и опубликовало эту надпись здесь

ssh -L удобно использовать для всяких webui из внутренней инфры. Конечно их можно вывести наружу, но это лишние риски. ssh -L 9090:localhost:9090 prometheushost и можно открыть prometheus из внутреней сетки без паролей, только по ключам.

ssh -J должен быть знаком всем плюс минус серьезным админам. В окружение лучше прыгать через bastion ноды, которые редко где отсвечивают, а не напрямую. Понятно, что может быть VPN, но так вроде проще, чем постоянно прыгать по разным приватным сетям.

Запуск графических приложений на удалённой машине.

но в теле статьи не НА а С..

Putty может копировать файлы - в составе есть отдельный консольный клиент pscp.exe

Не знал, спасибо! Возьму на заметку.

Вот только в десятке из коробки есть родной scp и ssh

Но из коробки нет ssh-copy-id :(

Не велика потеря, или в виндовой консольке нет пайпов?

Гораздо хуже как по мне то что виндовый ssh клиент не умеет в контролпасы из-за того что винда не умеет в юникс сокеты..

В адекватно радиусе от меня нет винды, так что проверять я не буду. Но насколько я помню в ssh контролпасы не работают там. Я думал что это из-за отсутствия юникс сокетов, но видимо причина другая.

Как видно, графические приложения удалённого сервера прекрасно взаимодействуют с мышью.
Но к сожалению — не всё так радужно. Конечно, можно весь оконный менеджер так запустить, и оно будет работать, но будет дико тормозить.

ну не дико, вполне приемлемо если в пределах одной локалки, ну а в пределах тырнетов тут много факторов одно время у меня так главбух из дома в 1С заходила пока vpn починяли, печально, но работать можно.
а чтобы работало шустрее и поддерживало аппаратное ускорение есть vglconnect/vglrun, правда сам я не пробовал

а чтобы работало шустрее и поддерживало аппаратное ускорение

там дело не в ускорении, а в сетевых задержках. ну и в том, как современные тулкиты работают с иксами

КО

 VcXsrv как-то очень сильно похож на XMING который я когда-то юзал для тех же целей
а вот вместо Putty рекомендую попробовать Bitvise

Пользую https://wiki.x2go.org/doku.php
которая надстройка над VcXsrv

А еще есть MobaXterm, она со встроенным X сервером.

Это какой-то адски перегруженный комбайн.

Уж лучше портабл софт с тремя файлами, чем иксервер в систему имхо

Уж лучше портабл софт с тремя файлам

Нет там никакого portable. Ну да, пара файликов, только по факту при запуске "портабельной" версии она все равно устанавливается в AppData — там почти 2000 файлов.


чем иксервер в систему имхо

Не вижу проблем его поставить или использовать честную портабельную версию какого-нибудь VcXsrv.

VcXsrv is a open source project under GPLv3 license about building reliable X Server using Visual Studio in potentially optimal manner. It's common knowledge Microsoft Compilers are very good for Windows platform, since there are free variants it's tempting option. It was my first choice for X Server when I tried Windows Subsystem for Linux for the first time in Windows 10.

Xming is a weird project which under term Donation hides a price for the installable binaries. I always though donations are voluntary, but it seems the author has different perception. This project was the only option to have X Server on Windows natively for very long time, but since we have VcXsrv, there is choice.

I personally have very good experience with VcXsrc, it's easy to install and works very fast. I'm surprised it's not more popular. As far as I know their code is more clean version of original X server and doesn't relate to Cygwin.


Отсюда.

по личному опыту, xming имел странные глюки при синхронизации clipboard-а и с клавиатурными раскладками. Перенос клипборда просто переставал работать в рандомные моменты. Переход на VcXsrv это существенно облегчил.
Хотя я это наблюдал во время Windows 7 и xming 6.x, возможно, сейчас в xming 7 это починили.

Немного странный порядок действий в статье — сначала отключить root-доступ с перезапуском ssh-демона, и только потом проверить "успешность подключения от своего аккаунта" — может быть стоит делать наоборот, ну или хотя бы отключать доступ руту, войдя для этого со своего аккаунта?

Следует также упомянуть о том, что в некоторых случаях вместо PermitRootLogin no вполне безопасно можно использовать PermitRootLogin prohibit-password.

Правда ваша. Как вы говорите делать, без сомнения, более правильно. В данном случае хотел сделать акцент, что надо проверять каждую настройку.

Кстати да, я последнее время не понимаю этой мантры "закройте рута по ssh", ведь вся проблема исходит только от паролей и возможности их перебора, отключите парольную авторизацию (ну и еще можно fail2ban сверху воткнуть) и проблема чаще всего решена.

Другое дело, что это провоцирует работу от рута, но это уже совсем другая тема для обсуждения.

В данном случае вообще считаю, что возможность логина по руту не нужна.

Догадаться какой пользователь на сервере сильно сложнее, чем пытаться сбрутить рута. Хотя без сомнения и это тоже брутится.
НЛО прилетело и опубликовало эту надпись здесь

ну догадались, и что дальше? пытаться сбрутить ключ, серьёзно?

Ключ root брутить сильно проще?

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

Если вы внимательно читали эту ветку комментариев, то вам рекомендовали вместо отключения входа рута по ssh отключить парольную аутентификацию для рута:


Следует также упомянуть о том, что в некоторых случаях вместо PermitRootLogin no вполне безопасно можно использовать PermitRootLogin prohibit-password.

Впрочем, я обычно полностью отключаю парольную аутентификацию на ssh.

Видимо возникает недопонимание. Лично я исхожу из тематики статьи, и говорю что тектовый пароль пользователя сбрутить можно, но надо ещё подобрать логин. А рут лучше вообще отключить.

текстовый пароль можно сбрутить

geVUsge9cdj2cRG - то что генерирует парольный менеджер. Удачи ;)

Брут идёт не мамкиными хацкерами, а просто в автоматическом режиме скриптами. Можно даже по логам вновь созданного сервера это увидеть.

И в таком случае, даже при длинном текстовом пароле шанс брута далеко не нулевой.

Там 6615 ≈ 2 · 1027 вариантов, из которых надо перебрать до успеха в среднем половину, то есть 1027. Если делать 1000 попыток в секунду (чего никто не делает) — это займёт 6 · 1016 лет. Да блин, вселенная ещё столько не просуществовала!


И это в предположении что атакующий знает длину пароля. Удачи.

В ваших расчётах ошибка.

1. Не учитывается что пароль может быть в словарях.
2. Не учитывается то, что пароль может быть скомпрометирован.
3. Не учитывается глупость создателя сервера.
4. Не учитывается в банальной математике, что пароль может быть перебран за меньшее количество итераций.

Поэтому, лучший вариант — это ключи, которые тоже могут быть скомпрометированы. Однако, если сюда добавить поиск пользователя, а не только рута, то время увеличивается на порядки.

И, то что вы не заметили, что ваш сервер взломан, ещё не говорит, о том что там никто не побывал ;).
И, спасибо, за удачу!

пароль может быть в словарях.

Рандомый пароль очень вряд ли

пароль может быть скомпрометирован

Как и ключ

ЗЫ: ключи, конечно же, удобнее. management ключей проще и надежнееё

Как и ключ :).

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

ключ не всегда удобно с собой таскать

Точно так же, как и пароль вида geVUsge9cdj2cRG. Вы же его не запоминаете, правда? Наверное в файлик записываете, или в программу какую то?

ключ не всегда удобно с собой таскать
Ключ кладётся в KeePass и ставится плагин KeeAgent.

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

переносимые ключи вроде как противоречат идеологии ключей

Можно подробнее, что это за идеология?

они в таком случае превращаются в очень длинный пароль просто

Не просто. Пароль можно попытаться подслушать с помощью MITM, фишинга, подмены DNS... Ключ (публичную часть) сниффить бесполезно - он и так общедоступен.

Кажется, тут просто столкнулись точки зрения двух веток линуксов - в Debian-based дистрибутивах, работать от рута не принято, а в Red Hat-based - (ну, по крайней мере, на момент получения мной RHCSA), работать под рутом - мэйнстрим.

Другое дело, что это провоцирует работу от рута, но это уже совсем другая тема для обсуждения.

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


а вот на домашнем/рабочем компьютере я обычно сижу под обычным пользователем. хотя и тут рутовая консоль обычно открыта )

Если это сборочный сервер (что чаще всего в моей практике), то рут не нужен от слова совсем. И ряд программистов его никогда в глаза не видело, если нужны какие-то изменения, пишется заявка в IT-отдел, и какой-нибудь костариканец его настроит.

Администратору root как правило нужен. Программисту, как правило, нет.

Вижу противоречие тут я - судоэра права не нужны тогда ;-)

Ну, а своё мнение я уже выше озвучил - в разных дистрибутивах традиции разнятся.

не понимаю, как набор sudo перед каждой командой улучшит безопасность
Когда на одной машине нужно набирать, а на другой нет, это не очень удобно, постоянно путаешься.

sudo -i не поможет? )

По поводу винды. В Windows 10 ведь уже есть встроенный ssh-клиент. Вместе с scp, и генератором ключей. И не надо устанавливать для этого никакой cygwin. Я почти перестал пользоваться putty из-за него.

Как называется? Не знал просто.

Вроде как OpenSSH client по умолчанию устанавливается. В Pro`шке точно.

Я лишь недавно попробовал добавить OpenSSH на машину с Windows 7 ради серверной функции и столкнулся с тем, что свежая версия OpenSSH перестала поддерживать SCP. Теперь вместо него работает протокол SFTP.

Это не очень удобно мне, учитывая, что ряд администрируемых сетевых устройств, напротив, работают только с SCP вместо SFTP.

Usage of the SCP protocol can be restored using the newly added -O option.

Это я видел. Осталось понять, куда прописать эту опцию на коммутаторе, на который я желаю посредством SCP передать файл, находящийся на хосте с OpenSSH сервером.

Если разработчики задумали прописывать её на клиенте, то это не очень мудрое решение, т.к. для этого нужно иметь возможность как минимум поменять параметры на клиенте…

In case of incompatibility, the scp(1) client may be instructed to use
the legacy scp/rcp using the -O flag.

Хотя, похоже, именно так они и поступили.

Да, OpenSSH client. Если не установлен из коробки, то ставится через компоненты. Соответственно в виндовой консоли это просто ssh, scp и так далее.

Век живи!


Таки да, работает как обычно и клиет и сервер. Относительно легко прикручивается всякое вроде ключей из gpg / hw токенов даже.

putty удобен тем, что это оконное приложение, со всеми фичами вроде своего значка в панели задач, быстрого доступа к последним сохранённым сессиям через этот же значок; также немаловажно что plink не открывает пустого консольного окна (почему в OpenSSH sshw.exe не сделают?)

Мне, честно говоря, очень не нравится интерфейс putty. Он какой-то програмистский в плохом смысле этого слова. Контринтуитивный, я часто ошибаюсь при работе с ним. Например, там параметры сессии собираешь по всему дереву слева, а потом надо не забыть вернуться в начало и сохранить сессию. Я тут часто прокалываюсь. Тот факт, что putty это не одна утилита, а целый набор, тоже не радует. Когда мне хочется работать с терминалом по-виндовому, я использую MobaXTerm. Вот это прям в стиле винды. Комбайн. С вкладками, файловым менеджером и ещё горой каких-то фич. Даже скринсейвер есть. Иногда мне удобнее с ним, иногда в голой консоли через OpenSSH, а putty осталась не у дел. (Хотя MobaXTerm сам использует putty).

Я одно время сидел на майкрософтовском Terminal-е, табы, настройки богатые, вот это все подкупало сильно. А последнее время открыл для себя Tabby , вот это реально помогает, очень удобная штука. До любимого маковского iterm2 конечно все равно как до луны...

Tabby выглядит прикольно, надо попробовать. Мне нравится фича, когда окно можно нарезать на отдельные терминальчики, как в линуксовом terminator.

После слов "Themes customizable with CSS" и "Extensible via plugins (in JS)" на оффсайте стало страшновато, оно на Электроне? Консоль в отдельном браузере?

Для себя давно открыл ConEmu. Крайне удобно.

Да, оно на электроне. У них даже есть демо, работающее прямо на сайте. Но я попробовал пользоваться и пока мне очень даже нравится. Только пришлось часть хоткеев поотключать в настройках, а то он много чего перехватывает и в результате я не смог работать с nano нормально.

Т.е. вас действительно не смущает тот факт что вы запускаете консоль в отдельной версии браузера??? Вы понимаете что каждая приложуха на электроне это отдельный инстанс хромиума, со всеми "вытекающими"? Извините, но, имхо, это дно. Хуже этого может быть только калькулятор на электроне, зато со скинами на css. :(

О прекрасный 21-й век. Мы выдумали webassembly для веба, чтобы он не томозил от нашего обилия JS, а потом "делаем" примитивные приложения на электроне, c обилием JS...

А что из этого вытекает? Что приложение потребляет много ресурсов? Больше чем могло бы? Так этих ресурсов у меня хватает с избытком. Или вы о каких-то более серьёзных вещах говорите, например о безопасности такого решения?

О том, что скоро мы прийдем к тому, что для запуска калькулятора и блокнота надо будет не менее 16Гб памяти и процессор с как минимум 8 ядрами, хотя кроме нескучных обоев ничего нового там не появилось.

У меня браузер всё равно постоянно запущен, у него каждая вкладка процесс, плюс плагины. Ну будет у меня ещё один процесс браузера и что? Я посмотрел, в покое табби жрёт 47 МБ памяти и 0% процессора. На фоне запущенного рядом фаерфокса, который сжирает пару гигов его и не видно. Почему я должен об этом переживать?

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

ConEmu (https://conemu.github.io/) умеет всё вами перечисленное и ещё кучу всего, с открытым исходным кодом. Жрёт 5,3 Мб. И не электрон :)

  1. Опция -А позволяет пробрасывать свой ключ по цепочке, если заходить в несколько вложенных сессий. Иногда бывает нужно

  2. Тулза sshuttle позволяет автоматически настраивать роутинг в подсеть через ноду, к которой есть доступ по ссш. Тоже нужна редко, но метко

WinSCP на самом деле хорош. В него и из него можно перетаскивать мышью файлы из обычного проводника windows. Старый двухпанельный режим можно отключить, и тогда WinSCP выглядит похоже на стандартный проводник.

А почему вы запускаете VS Code из WSL, а не из Windows, хотя Microsoft рекомендует наоборот?

А каким образом вы получите доступ к примонтированным папкам по sshfs?

Правда ваша, есть возможность поставить приложение к VSC. Но как обычно, всё это больше тормозит, чем работает на целевой платформе.

А следующее в списке расширение не дает доступ к примонтированной папке?

Даёт, поэтому и показал скрин. Тем не менее, без wsl никуда. Но иксы можно не пробрасывать.

Спасибо за наводку.

Очень не хватает возможности пробрасывать последовательные порты ttySx, ttyUSBx, ttyACMx и т.д.

А в чём сложности? Вы простите, я не издеваюсь, это точно такие же консоли, значит их можно пробросить.

эээ, а как?

запустить удаленно screen, это пожалуйста

а как сделать так чтобы на локальном компе открывался порты, доступ к которому пробрасывался к удаленному последовательному порту?

Простейшим образом через pipe, но в целом надо помароковать. Но это реально.
Как вариант
Судя по всему, решение.

Если хочется, чтобы можно было подключиться извне, то нужно на удалённом хосте тоже сделать перенаправление портов.

Можно на сервере в настройках /etc/ssh/sshd_config указать GatewayPorts clientspecified. И тогда не сервере уже не надо будет ничего перенаправлять, а можно сразу делать ssh -fCNR 0.0.0.0:5544:localhost:22 remotehost. И ssh будет слушать на всех интерфейсах сервера.

Ну вот, я же говорил, что RTFM всегда полезен. И я рад, что из комментариев узнаю много нового.

пробросить порты можно через уже открытую сессию SSH с помощью так называемых control sequences. Чтобы попасть в меню надо нажать Enter, потом ~C - появится контекстная менюшка с выбором режима и настроек форварда

Прикольно. А какие команды там можно использовать? Я не смог нагуглить, не знаю какие ключевые слова использовать.

самая первая команда — help
и Enter нажимать не обязательно — достаточно ~C

По ssh konami code можно нагуглить, сам уже толком не помню какие были

Почему-то не упомянули про возможность подключиться с помощью Filezilla, указав соответствующую настройку. И можно просто и удобно перекидывать файлы туда-сюда. Конечно, ftp мало кто пользуется, и его объявили типа устаревшим, но это просто и удобно.

WinSCP делает то же самое.

ftp ещё и крайне медленный по сравнению, например, с rsync.

И подвержен MitM-атакам, если это FTP, а не FTPS. Собственно поэтому он и устаревший — в 2022 году уже каждая собака норовит влезть в нешифрованый трафик.

Конечно, я имел ввиду SFTP.

Я не перепутал с FTPS. Именно с помощью Filezilla я захожу на линуксовые сервера по SFTP, используя те же данные авторизации (логин-пароль), что и для входа по SSH. Просто Filezilla традиционно считается клиентом FTP, и я его так привык называть.

ssh -X лучше запускать в виде ssh -C -X — вроде помогает.

Это правда, и тут надо пояснить, что -C включает gzip-сжатие всего трафика (до шифрования). Опции можно и объединить для краткости в -CX.

Для меня эта программа — эталон удобства, и порой даже думаю поставить её под linux, хотя это и оверкилл.

У неё есть фатальный недостаток — нет ProxyJump.

Ну, ProxyJump — лишь сокращение для ProxyCommand, а ProxyCommand putty поддерживает (называется "Local proxy").

Пробовали 5 Джампов прописать? Однажды требовалось, обычно 2-3 хватало. Консоль с ссш конфигом и дополнением через табуляции гораздо продуктивней, некоторым ncurses из zsh нравится ещё.

Ага. До тех пор, пока вам порты пробросить не требуется.

А еще у ssh есть волшебная опция -w которая позволяет соединить локальный и удаленный tun-интерфейсы через ssh туннель и таким образом организовать полноценное vpn соединение.

Использую 'SFTP Drive V3' для монтирования папки Linux как диска Windows. Прямо из VSCode работаю с исходниками (собираю, конечно, на Linux машине). Для абсолютно всех рабочих манипуляций с серверами юзаю либо WSL, либо Git Bash. Получается обходиться без Windows терминалов.

“Здесь я создал файл, затем скопировал его на удалённый хост (в домашнюю папку), и после, проверил его существование. Аналогично можно копировать и в обратном направлении.”

Подскажите, как красиво скопировать файл с удаленной на свою машину, если я уже нахожусь в ssh сессии, без выхода из сессии. У моей машины нет белого IP.

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

Пока коряво копирую во временную папку , cставлю более широкие праваи утаскиваю себе.

Думаю, иначе никак, передача файлов и шелл (а также проброс портов и VPN) — это всё разные сессии внутри одного соединения, поэтому эскалация прав в шелле неприменима к передаче файлов. Разве что может сработать с кастомным клиентом и Esc-последовательностями, но это надо велосипедить. Например, в шелле выводим специальный код, распознаваемый клиентом (с указанием длины файла в нём), после чего прямо в шелл дампим содержимое файла. Клиент это всё в терминал не выводит, а показывает диалог выбора файла для сохранения, после чего вычитывает N байт, где N мы передали вместе с эскейп-кодом, сохраняет их в файл и возвращается в обычный режим работы с шеллом.

Интересно, а тут можно как-нибудь xclip использовать, совместно с ssh -X?

Можно, я так делал. Не уверен, что это правильно сработает с sudo, возможно, надо будет использовать -E для сохранения переменных окружения.

Если бы можно было монтировать под Windows удалённые папки из Linux-машин, то было бы просто великолепно. Хотя и это тоже возможно сделать без особых проблем.

Логика сломалась.

Далее необходимо отключить логин пользователя root. Это очень важно, потому что, в конце концов, методом перебора сервер рано или поздно будет взломан.

Да чего же вы так все боитесь рута? Не понимаю, аргументы странные. Да, сидеть под рутом на боевом сервере, полным всякого софта и сервисов нехорошо, можно случайно что-нибудь сломать, но если это машина, на которой один раз в начале развертывается докер, и дальше все работа происходит с ним и машина создается исключительно для него — какой смысл в создании новых пользователей?
А сложность взлома от логина не зависит, разве что рута пытаются перебрать чаще, чем ваше-уникальное-имя-пользователя. Но в чем проблема просто отключить пароли и перейти на авторизацию ключами тогда?
Да, сидеть под рутом на боевом сервере, полным всякого софта и сервисов нехорошо, можно случайно что-нибудь сломать

то есть если на этом же хосте набрать sudo somebadcommand, будет лучше? )
при активном использовании sudo глаз ровно так же замыливается, даже тут на хабре я видел статьи с «просто перед каждой командой пишем sudo» в духе
sudo curl http://xxx | sudo bash


Но в чем проблема просто отключить пароли и перейти на авторизацию ключами тогда?

на самом деле и парольная авторизация достаточно надёжная, но только пока у вас контролируется сложность паролей.
единственное преимущество ключей — защита от дурака, почти невозможно создать ключ с надёжностью как у пароля 123 (хотя и тут случались проблемы, но это была уже не оплошность админа)

В принципах безопасности: каждый пользователь должен использовать свой собственный логин для работы. Таким образом в случае инцидента можно установить чья учётная запись утекла и принять меры по ее блокировке во всей инфраструктуре, например.

Это базовый принцип информационной безопасности.

А засечь утёкшую учётку что, проще чем утёкший ключ?


Нет, я понимаю если это учётка из-под которой ведётся вся работа, тогда и правда одно её название оставит в логах куда больше следов чем ключ. Но что если первой же командой после логина будет какой-нибудь sudo su -?

Вы действительно не понимаете.

Неважно как происходит аутентификация пользователя (пароль или ключ). Важно чтобы каждый имел и использовал только свой персональный аккаунт.

Линукс система содержит все необходимые средства для логирования действий пользователей и FIM. Задача решается сама собой при соблюдении условия раздельного логина.

Я запрещаю удаленный вход для root

Нет, это вы не понимаете.


Вот злоумышленник зашёл на сервер и написал sudo su - или любой аналог. Права на sudo у него есть, иначе и обсуждать нечего. Какое имя пользователя с этого момента будет логировать линукс?

Тривиальные настройки позволяют логировать имя логина и факт использования им sudo. Конечно на удаленный сервер.

Сразу видим кто потек.

Основы ИБ.

Но ведь информацию о ключе тоже можно логировать. В чём принципиальное отличие-то?

Не вижу смысла цитировать себя. Ответ на ваш вопрос в моем посте выше

Ещё почитайте как устроен FIM in Linux.

Все придумано до нас.

Единственное, что мне в ней не нравится, что если сессия рвётся по таймауту, то приходится заново создавать подключение, а это долго и раздражает.

Обрыв соединения в WinSCP (и в putty с настройками по умолчанию) при длительном бездействии может быть как следствием настроек сервера, так и следствием очистки по таймауту таблицы NAT на маршрутизаторе.

Для решения проблемы необходимо включить посылку keepalive-пакетов в свойствах соединения. В WinSCP это вкладка "Подключение" в окне "Расширенные настройки" пункт "Поддерживать активность" ("Advanced site settings" -> "Connection" -> "Keepalives"). В putty аналогично — пункт "Отправка нулевых пакетов" ("Sending of nul packets to keep session active") на вкладке "Соединение" ("Connection")

Обязательно рекомендую проверить, что вы больше не можете зайти под рутом с тем же паролем, и эти изменения успешно применились.

После чего проверяю успешность подключения от своего аккаунта dlinyj

Лучше наоборот :)

при вызове графических приложений со стороны серьера по опыту лучше включать сжатие: ssh -XC вместо просто ssh -X, будет заметно отзывчивее.

А насчет путти под линуксом, это идеальная штука когда надо подключиться к старому серверу, например СуСе 6.1 ;) который только SSH1 и умеет и с которого/на который файлы надо передать: pscp -1 ... вместо просто scp ...

Не помню, когда мне надо было в последний раз ssh1, но посмотрел, как минимум в debian есть openssh-client-ssh1


надо подключиться к старому серверу, например СуСе 6.1

Вы что-то путаете, заглянул в википедию, ssh2 был принят в качестве стандарта в 2006 году, к моменту выхода suse 6.1 все про ssh1 забыли.
Подозреваю, вам нужно просто просто разрешить старые алгоритмы в ssh2, например у меня так прописано для тестовой сети в /etc/ssh/ssh_config:


Host 10.89.188.*
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking no
    KexAlgorithms +diffie-hellman-group1-sha1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий