Есть ли способ структурировать одну команду для входа через SSH на удаленный сервер и запуска программы в оболочке удаленного входа?
В руководстве OpenSSH написано: «Если указана команда, она выполняется на удаленном хосте вместо оболочки входа в систему». Так, например, ssh user@server mail
войдете на удаленный сервер, отобразите состояние почтового ящика, а затем вернете вас в локальную оболочку. Есть ли способ остаться на удаленной оболочке после отображения статуса почты?
Кроме того, ssh user@server [command]
похоже, не работает, если команда является программой, например, vim или mutt. Есть ли способ войти в удаленную оболочку и запустить программу, оставаясь в удаленной оболочке во время выполнения программы и после выхода из программы, только в итоге выходя из определенной logout
команды (как в обычном сеансе SSH)?
В конечном итоге я хотел бы иметь возможность поместить такую команду в качестве псевдонима в локальный .bashrc, чтобы она могла быстро запускаться при желании. Примером может быть вход в систему через SSH на удаленный сервер и открытие Mutt на удаленном сервере для чтения или отправки электронной почты.
ssh remote@server mail ; ssh remote@server
? Также любая удаленно выполняемая команда, которой нужен терминал, не выживет / не будет работать над ssh, верно?Ответы:
Вы пробовали
ssh -t user@server "mail && bash"
(или заменилиbash
на какую угодно оболочку)?Это
-t
необходимо для того, чтобы создать псевдо-tty для bash для использования в качестве интерактивной оболочки.источник
mutt
внутриtmux
или илиscreen
, и тогда я могу присоединять и присоединять по желанию, плюс я могу запустить столько дополнительных оболочек, сколько захочу.exit
вместоlogout
. Я пока не могу его проверить с помощью mutt (или подобного).-t
производить вариант какой - либо проблемы безопасности? Я не использовал это раньше.&&
с;
?