NetSarang XShell 7 - лучший эмулятор терминала для Windows (альтернатива PuTTY)

devops

Administrator
Команда форума
Не статья, не реклама, действительно сам пользуюсь, раньше юзал бесплатно как home use, а теперь взял лицензию - т.к. софт реально очень удобный - рекомендую :)

p-xshell7-top-en-2.png
 

vl-it

New member
Эта программа очень удобная, можно делать автоматический коннект плюс, чтобы команды сами прописывались, запуск бота и т.д.
Кстати данную программу сравнивать с PuTTY не стоит, путти это вообще шляпа.

Есть вопрос по программе:

Xshell 7
- при закрытии программы, отправляет команду Z, завершает запущенные процессы, как это убрать?
Хорошая программа для ssh, по этому использую, но столкнулся с проблемой, при закрытии вкладки или программы, завершает запущенные процессы в сессии.

Специально поставил на ssh, screen -ls, для того, чтобы процессы работали когда я закрываю подключение к ssh.
Вот столкнулся с проблемой, Xshell при закрытии, завершает все, пока не понял, как отключить завершение при закрытии программы.
 

devops

Administrator
Команда форума
Эта программа очень удобная, можно делать автоматический коннект плюс, чтобы команды сами прописывались, запуск бота и т.д.
Кстати данную программу сравнивать с PuTTY не стоит, путти это вообще шляпа.

Есть вопрос по программе:

Xshell 7
- при закрытии программы, отправляет команду Z, завершает запущенные процессы, как это убрать?
Хорошая программа для ssh, по этому использую, но столкнулся с проблемой, при закрытии вкладки или программы, завершает запущенные процессы в сессии.

Специально поставил на ssh, screen -ls, для того, чтобы процессы работали когда я закрываю подключение к ssh.
Вот столкнулся с проблемой, Xshell при закрытии, завершает все, пока не понял, как отключить завершение при закрытии программы.
Добрый вечер, это очень странно, тк xshell точно ничего не отправляет. Может это в конфигах bash? Проверьте все файлы, чуть позже напишу какие именно, там что то вроде .bash_logout или типа того, которые выполняют скрипты при закрытии сессии.
 

vl-it

New member
Добрый вечер, это очень странно, тк xshell точно ничего не отправляет. Может это в конфигах bash? Проверьте все файлы, чуть позже напишу какие именно, там что то вроде .bash_logout или типа того, которые выполняют скрипты при закрытии сессии.
Да это мне в таймвебе клауд в техподдержке написали, вот разбираюсь.

Так вот я для этого и ставлю на сервере screen, чтобы после закрытия программы Xshell, у меня все работало.

Администрирование сервера, вопрос про ssh — пользователи и screen сеcсии, как правильно использовать?​

Недавно только стал использовать vds сервера.

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

Далее, после закрытия программы ssh, у меня боты прекращали работать, мне сказали, надо использовать screen, чтобы мои боты продолжали работать, я разобрался, что такое screen, создал разные сессии, для каждого бота своя, под root, но теперь другая проблема, созданные сессии под root, их видит только root и может подключаться к ним, может только он, как правильно сделать?

Создавать screen сессию каждый под своим пользователем? То есть, подключаюсь я к ssh, пользователем и создаю для него свою сессию screen, так?

Но если так делаю, то уже root, не видит список сессий.

Или же можно создать все сессии screen под root, но выдать права на доступ пользователем.

Как правильно создать? В плане безопасности и нормальной работы.
 

devops

Administrator
Команда форума
Да это мне в таймвебе клауд в техподдержке написали, вот разбираюсь.

Так вот я для этого и ставлю на сервере screen, чтобы после закрытия программы Xshell, у меня все работало.

Администрирование сервера, вопрос про ssh — пользователи и screen сеcсии, как правильно использовать?​

Недавно только стал использовать vds сервера.

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

Далее, после закрытия программы ssh, у меня боты прекращали работать, мне сказали, надо использовать screen, чтобы мои боты продолжали работать, я разобрался, что такое screen, создал разные сессии, для каждого бота своя, под root, но теперь другая проблема, созданные сессии под root, их видит только root и может подключаться к ним, может только он, как правильно сделать?

Создавать screen сессию каждый под своим пользователем? То есть, подключаюсь я к ssh, пользователем и создаю для него свою сессию screen, так?

Но если так делаю, то уже root, не видит список сессий.

Или же можно создать все сессии screen под root, но выдать права на доступ пользователем.

Как правильно создать? В плане безопасности и нормальной работы.

Я больше чем уверен, что если сервером vds вы пользуетесь только один - то нет смысла запускать каждого бота под разным пользователем, доступа к боту всё равно ни у кого нет, он общается с телеграмом по api, взломать его через телегу не возможно.

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

В вашем же случае достаточно ботов запускать как сервис systemd, которые будут постоянно работать, в случае сбоя перезагружаться (параметр always restart) и без проблем отслеживать их статус.

При необходимости если какой то бот завис или не работает - можно отправлять вам уведомление (например в телеграм либо на почту).

Слишком громоздкое и не корректное решение с точки зрения администратора сервера и владельца ботов.

Зачем они нужны эти разные пользователи и ещё и screen к тому-же.
 

vl-it

New member
Screen я настроил уже, освоил, я для этого его и использую, чтобы боты работали круглосуточно без моего вмешательства.
Systemd - тож рекомендовали, он проще чем Screen.

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

Зачем они нужны эти разные пользователи и ещё и screen к тому-же.

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

devops

Administrator
Команда форума
Screen я настроил уже, освоил, я для этого его и использую, чтобы боты работали круглосуточно без моего вмешательства.
Systemd - тож рекомендовали, он проще чем Screen.

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

Зачем они нужны эти разные пользователи и ещё и screen к тому-же.

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

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

Но замечание про запуск от рута вы приняли, но предполагаю из-за неопытности, сделали ещё менее логичней и запутанней.

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

Там ключевые несостыковки:
Наличие screen сессий под каждый бот - никак не стыкуется с "боты должны работать без моего участия".

Это уже вызывает гораздо больше вопросов чем если бы вы не заморачивалиь и запускали от рута.

А что делать если случился сбой? Out of memory, kernel panic, или любой другой, вплоть до базового рестарта виртуалки вашим провайдером?

Придется как раз подключать самое непосредственное ваше участие, да еще и возиться с сессиями и пользователями.

Нужно что бы боты могли сами подниматься (запускаться) при перезагрузке или каких-либо ошибок самого бота (runtime error, exit code и т.д.)

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

Screen - софт дл рутинных временных задач, для отладки и т.д. Но никак не является "рабочим" решением в связке с вашим приложением/ботом.

Надеюсь не показался душнилой? 😄

Но, если всё же хотите делать по своему - можем договориться о дате/времени, созвониться в zoom/google meet, возможно нашли бы ошибку которая закрывает сессии.
 

vl-it

New member
Именно таймвеб клауд, мне и советовали поставить и использовать Screen, ну и еще другие советовали, запускай задачи от туда, и тогда можешь спокойно закрывать ssh, и все твои скрипты будут работать.
Без моего участияз начит, подключился по ssh, запустил, все они работают, а я только отслеживаю все ли ок. У меня так щас, рубанули свет или инет перестал работать, коннект с ssh пропал, все боты легли спать )
 
Сверху