putty inactive что делать
Устраняем обрыв сессии SSH во FreeBSD и CentOS
При удаленном подключении к серверу (виртуальному серверу) по SSH посредством Putty при простое в 5-10 минут отрубается сессия.
Ничего страшного в этом вобщем-то нет, так как сервер продолжает работать 🙂 Но…
Когда полезно увеличить время до разъединения при неактивности SSH
Если Вы ожидали вывод в консоль при выполнении какой-то программы, то, конечно Вы его потеряете, то есть ничего не увидите. А вывод результатов работы какого-нибудь приложения можно ждать и не один час. К примеру установка популярной панели управления хостингом ISPmanager во FreeBSD может растянуться на пару часов.
Как настроить SSH на сервере
Для устранения рассоединения при отсутствии активности в шелле необходимо настроить SHH сервис на стороне сервера. Для этого нужно отредактировать файл «/etc/ssh/sshd_config». Имя фала и его раположение одинаково как во FreeBSD, так и в CentOS.
Далее нам необходимо отредактировать три параметра:
TCPKeepAlive установлен в «yes» — это означает, что сервер будет периодически проверять, находится ли клиент «на линии» – если он не отвечает, соединение автоматически разрывается.
ClientAliveInterval — Время простоя клиента в секундах, после которого демон sshd отправляет через защищённый канал запрос клиенту. Директива работает только для протокола 2.
ClientAliveCountMax — Количество проверок доступности клиента, которые могут оставаться без ответа. Если предел достигнут, sshd завершит сеанс.
При параметрах указанных выше в случае неактивности сервер будет поддерживать соединение в течении 6 часов (360 минут).
После внесения изменений необходимо перезапустить SSH demon.
Как перезапустить SSH сервис
В CentOS 6.3 и во FreeBSD 8.3 выполните следующее:
Настройка PuTTy для устранения подвисаний
В самом клиенте PuTTy также желательно произвести нехитрые настройки.
Для этого идем в секцию «Connecton» и выставляем параметр «Seconds between keepalives» равным 60 секундам. Так же можно отметить опцию «Enable TCP keepalives»
О безопасности сессий при соединении SSH
Что будет, если оставить сессию ssh открытой? Это никак не скажется на безопасности, кроме случая, если кто-то посторонний сядет за Ваш компьютер или получит удаленный доступ к нему. SSH хорошо шифрует трафик, опасность только в доступе к Вашему пк.
Putty автоматическое переподключение при обрыве связи
«Putty автоматическое переподключение при обрыве связи». Я люблю работать c моими серверами с помощью Putty по SSH. Я думаю, что это больше чем просто клиент SSH, сама программа очень классная!
Автоматическое переподключение Putty
Однако есть одна вещь, которая раздражает меня больше всего: когда мое подключение к Интернету прерывается или когда компьютер просыпается, из режима сна, все мои putty подключения оборваны. И мне нужно опять вводить руками логин и пароли что бы подключится заново к серверам, а это получается очень утомительно. Когда то я думал что IPV6 есть фича (функция), что можно переподключиться автоматически. Как бы он поддерживает но с теперешними технологиями без обрывочный ipv6 становится пока что фантастикой. Так что всё что нам остаётся, это переподключаться в PUTTY.
Я недавно обнаружил еще одного PUTTY клиента, под названием PUTTY TRAY, который вы можете найти здесь: https://puttytray.goeswhere.com/.
Это по сути переписанный PUTTY, в нём много полезных функций. И в сравнении со стандартной утилитой, но в нём есть очень важная опция
«Attempt to reconnect on network failure» — переключится при обрыве связи
И
«attempt to reconnect on system wake-up» — переключится при пробуждении системы, (сон)
Вы можете увидеть их на скриншоте ниже:
Putty автоматическое переподключение при обрыве связи
Все о PuTTY: установка, настройка, основные команды
Подключение между двумя компьютерами в среде Linux осуществляется через SSH. Это сетевой протокол прикладного уровня, производящий удаленное управление ОС и туннелирование TCP-соединений. Его использование обусловлено простотой и надежностью, что позволяет выполнять безопасное подключение к серверу.
Соединение по SSH дает возможность выполнять любые команды на удаленном компьютере так, будто мы находимся прямо перед ним. Такой процесс обычно осуществляется через специальные утилиты, особенно если нужно получить доступ к Linux через Windows. Одной из программ таких является PuTTY, о которой речь пойдет в сегодняшней статье. Как ее настроить и подключиться через нее к серверу – читайте далее.
Где скачать PuTTY
PuTTY распространяется в бесплатном доступе на официальном сайте разработчика. Переходим по ссылке и загружаем подходящую версию приложения под разрядность операционной системы.
Скачиваем инсталлятор и запускаем его. Перед нами отобразится окно приветствия – кликаем по кнопке «Next» до конечного пункта. По пути мы также можем изменить местоположение программы, а также добавить или исключить некоторые функции PuTTY.
После успешной установки в меню «Пуск» появится новый ярлык под названием PuTTY – с ним мы и будем работать в последующих разделах.
Как настроить PuTTY
В настройках программы нет ничего сложного. Давайте откроем программу и посмотрим, что в ней есть. После запуска перед нами отобразится окно конфигурации приложения, где слева находятся различные категории, а справа – их настройки.
Программа включает в себя 4 основных раздела:
Нам потребуется всего две вкладки: Session и SSH. Первым делом перейдем ко второй и убедимся, что версия протокола стоит в значении «2». Как правило, сейчас используется понятие SSH-2, так как первая версия практически не применяется из-за существенных недостатков, например, ошибки в схеме обеспечения безопасности.
Вернемся к разделу Session, где находятся основные параметры, которые потребуются нам для подключения к серверу по SSH. Давайте немного остановимся и поговорим о них:
Как видите, в настройках PuTTY нет ничего сложного. Теперь давайте перейдем к подключению по протоколу SSH.
Как подключиться по SSH
Нам понадобится IP-адрес удаленного компьютера или сервера, к которому мы хотим подключиться. Последующие действия мы будем рассматривать на примере VDS от Timeweb – все шаги аналогичны любому хостингу, поэтому у вас не должно возникнуть никаких вопросов. Если же подключаетесь не к серверу, а к компьютеру, то можете сразу переходить ко второму пункту.
Подключаемся по SSH:
Таким образом мы подключились к ПК на операционной системе Linux. Здесь мы можем вводить команды и удаленно взаимодействовать с компьютером.
Основные команды PuTTY
Как говорилось ранее, для использования удаленного компьютера нам необходимо вводить различный набор команд. Их огромное множество, но для первоначального изучения достаточно знать лишь их небольшую часть.
ls — предназначена для вывода файлов, содержит в себе набор команд:
cd — необходима для перемещения между директориями, например, cd [путь] перенаправляет пользователя в указанную папку, cd../ перемещает в верхний уровень, cd
открывает корневую папку.
echo — позволяет перемещать текст в файл. Например, если нам требуется создать новый текстовый документ или добавить текст в уже созданный файл, достаточно ввести «echo Привет, мир! >> new.txt».
sudo — наиболее используемая команда, означающая «SuperUser Do». Она позволяет выполнять любые команды от имени администратора.
df — дает возможность увидеть доступное дисковое пространство в каждом из разделов операционной системы. Синтаксис: df [опции устройство].
mv — используются для переименования файлов и перемещения их в другую директорию. Синтаксис: mv [опции исходные_файлы куда].
rm — если нужно удалить файлы или директорию целиком, то используйте эту команду. Синтаксис: rm [опции файл(ы)].
cp — для копирования файлов и целых директорий воспользуйтесь этой строчкой. Синтаксис: cp [опции файл-источник файл-приемник].
mc — предназначена для запуска файлового менеджера Midnight Commander, который позволяет работать с файлами по FTP внутри консольного окна.
cat — наиболее популярная команда в Linux, позволяющая считывать данные из файлов и выводить их содержимое. Наиболее простой способ отображения содержимого в командной строке. Синтаксис: cat [опции файл].
mkdir — позволяет создать одну или несколько директорий с указанным именем. Например, mkdir mdir1 mdir2 mdir3 добавит сразу 3 директории.
chmod — изменяет права доступа к файлам и каталогам. Синтаксис: chmod [ключи установка_прав имя_файла].
pwd — при первом запуске терминала мы оказываемся в домашнем каталоге пользователя. Если вдруг каталог был изменен, то проверить это можно с помощью данной команды.
touch — используется для создания любого типа файлов: от пустого txt до пустого zip. Синтаксис: touch [имя файла].
locate — предназначена для поиска файла в системе Linux.
Это была лишь небольшая часть команд, которые можно использовать при подключении по SSH. Если вы только начинаете изучать основы администрирования серверов, то этого списка будет достаточно.
Как подключиться к серверу без пароля
Не всегда удобно каждый раз вводить пароль для входа на удаленное устройство. Комфортнее, когда вход выполняется автоматически и без лишних усилий. В PuTTY существует такой способ – использование авторизации по ключу SSH. Настроить его можно следующим образом:
Готово! Теперь при повторном входе на сервер авторизация не потребуется. Главное – сохранить настройки сессии, чтобы не вводить ключ каждый раз.
Сегодня мы разобрали одну из важнейших тем, с которой сталкивается каждый, кто начинает изучать администрирование серверов. Использование PuTTY позволяет подключаться по протоколу SSH и удаленно работать с компьютером на операционной системе Linux. Такой способ позволяет легко администрировать устройство и всегда быть в курсе возникающих проблем. Надеемся, что наша статья была полезной, и у вас не осталось вопросов. Спасибо за внимание!
Устранение неполадок SSH: проблемы с подключением к серверу
В первой статье этой серии вы узнали о том, как и в каких ситуациях вы можете попробовать исправить ошибки SSH. Остальные статьи расскажут, как определить и устранить ошибки:
Для взаимодействия SSH-клиента с SSH-сервером необходимо установить базовое сетевое подключение. Это руководство поможет определить некоторые общие ошибки подключения, исправить их и предотвратить их возникновение в будущем.
Требования
Основные ошибки
Разрешение имени хоста
Большинство ошибок подключения возникает тогда, когда ссылка на хост SSH не может быть сопоставлена с сетевым адресом. Это почти всегда связано с DNS, но первопричина часто бывает не связана с DNS.
На клиенте OpenSSH эта команда:
может выдать ошибку:
ssh: Could not resolve hostname example.com: Name or service not known
В PuTTY может появиться такая ошибка:
Unable to open connection to example.com Host does not exist
Чтобы устранить эту ошибку, можно попробовать следующее:
Если у вас возникают проблемы с разрешением DNS на любом уровне, в качестве промежуточного решения можно использовать IP-адрес сервера, например:
ssh user@111.111.111.111
# вместо
ssh user@example.com.
Истечение времени соединения
Эта ошибка значит, что клиент попытался установить соединение с SSH-сервером, но сервер не смог ответить в течение заданного периода ожидания.
На клиенте OpenSSH следующая команда:
выдаст такую ошибку:
ssh: connect to host 111.111.111.111 port 22: Connection timed out
В PuTTY ошибка выглядит так:
Network error: Connection timed out
Чтобы исправить ошибку:
Отказ в соединении
Эта ошибка означает, что запрос передается на хост SSH, но хост не может успешно принять запрос.
На клиенте OpenSSH следующая команда выдаст ошибку:
ssh user@111.111.111.111
ssh: connect to host 111.111.111.111 port 22: Connection refused
В PuTTY ошибка появится в диалоговом окне:
Network error: Connection refused
Эта ошибка имеет общие с ошибкой Connection Timeout причины. Чтобы исправить её, можно сделать следующее:
Рекомендации по исправлению ошибок подключения
Брандмауэр
Иногда проблемы с подключением возникают из-за брандмауэра. Он может блокировать отдельные порты или сервисы.
В разных дистрибутивах используются разные брандмауэры. Вы должны научиться изменять правила и политики своего брандмауэра. В Ubuntu обычно используется UFW, в CentOS – FirewallD. Брандмауэр iptables используется независимо от системы.
Читайте также:
Чтобы настроить брандмауэр, нужно знать порт сервиса SSH. По умолчанию это порт 22.
Чтобы запросить список правил iptables, введите:
Такой вывод сообщает, что правил, блокирующих SSH, нет:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Если в выводе вы видите правило или политику по умолчанию REJECT или DROP, убедитесь, что цепочка INPUT разрешает доступ к порту SSH.
Чтобы запросить список правил FirewallD, введите:
Список, появившийся на экране, содержит все сервисы, которые поддерживаются брандмауэром. В списке должно быть правило:
dhcpv6-client http ssh
Если вы настроили пользовательский порт SSH, используйте опцию –list-ports. Если вы создали пользовательское определение сервиса, добавьте опцию –list-services, чтобы найти SSH.
Чтобы проверить состояние UFW, введите:
Команда вернёт доступные порты:
В списке должен быть порт SSH.
Проверка состояния сервиса SSH
Если вы не можете подключиться к серверу по SSH, убедитесь, что сервис SSH запущен. Способ сделать это зависит от операционной системы сервера. В более старых версиях дистрибутивов (Ubuntu 14.04, CentOS 6, Debian 8) используется команда service. Современные дистрибутивы на основе Systemd используют команду systemctl.
Метод проверки состояния сервиса может варьироваться от системы к системе. В более старых версиях (Ubuntu 14 и ниже, CentOS 6, Debian 6) используется команда service, поддерживаемая системой инициализации Upstart, а в более современных дистрибутивах для управления сервисом используется команда systemctl.
Примечание: В дистрибутивах Red Hat (CentOS и Fedora) сервис называется sshd, а в Debian и Ubuntu – ssh.
В более старых версия используйте команду:
service ssh status
Если процесс работает должным образом, вы увидите вывод, который содержит PID:
ssh start/running, process 1262
Если сервис не работает, вы увидите:
В системах на основе SystemD используйте:
systemctl status sshd
В выводе должна быть строка active:
Если сервис не работает, вы увидите в выводе inactive:
Чтобы перезапустить сервис, введите соответственно:
service ssh start
systemctl start sshd
Проверка порта SSH
Существует два основных способа проверить порт SSH: проверить конфигурационный файл SSH или просмотреть запущенный процесс.
Как правило, конфигурационный файл SSH хранится в /etc/ssh/sshd_config. Стандартный порт 22 может переопределяться любой строкой в этом файле, определяющей директиву Port.
Запустите поиск по файлу с помощью команды:
grep Port /etc/ssh/sshd_config
Если вы уже убедились, что сервис работает, теперь вы можете узнать, работает ли он на требуемом порте. Для этого используйте команду ss. Команда netstat –plnt выдаст аналогичный результат, но команду ss рекомендуется использовать для запроса информации сокета из ядра.
В выводе должно быть указано имя программы и порт, который она прослушивает. Например, следующий вывод сообщает, что сервис SSH прослушивает все интерфейсы и порт 22.
Символ * и 0.0.0.0 указывает, что все интерфейсы сервера прослушиваются. Строка 127.0.0.1 значит, что сервис не является общедоступным. В sshd_config директива ListenAddress должна быть закомментирована, чтобы прослушивать все интерфейсы, или должна содержать внешний IP-адрес сервера.
Если у вас не получается самостоятельно настроить соединение SSH, вы можете обратиться за помощью к службе поддержки своего хостинг-провайдера.
Putty. При закрытии останавливается процесс?
Запускаю некий процесс на сервере по SSH через putty.
Но когда закрываю putty процесс останавливается.
Давно не пользовался putty, но помню нужно было что-то жмякнуть. Вот только что?
1. Если разрывается связь, процессу отправляется сигнал SIGHUP, что означает «трубка повешена, связь с терминалом оборвана, пора завершаться».
Чтобы предотвратить, пользуются командой nohup, которая блокирует этот сигнал, и при разрыве связи продолжает эмулировать терминал, сохраняя весь вывод на «экран» в файл nohup.out
2. использовать экранные менеджеры screen или tmux, которые изначально сохранают сессию, даже если разорвать связь, и можно переподключившись, восстановить сессию.
ctrl-a d
но для этого надо запустить ваш процесс в screen
например так:
screen мой_долгий_процесс
А ман почитайте. Потратите 5 минут, зато не будете задавать глупые вопросы 😉
Сессия tmux — это совокупность псевдо-терминалов, находящихся под управлением tmux’а. К каждой сессии привязаны одно или более окон. Экран может быть занят как только одним окном, так и мозаикой из нескольких окон, каждое из которых соответствует одному псевдо-терминалу.
Несколько экземпляров tmux могут быть присоединены к единственной сессии, а в одной сессии может быть неограниченное количество окон. После закрытия всех сессий работа tmux прекращается.
Программа tmux задумывалась как замена программы GNU Screen.
Можно также воспользоваться утилитой nohup, которая позволяет процессам продолжать работу даже после того, как вы выйдете из системы