Вопрос Несколько команд с одним SSH-соединением?


Мне нужно много делать vim на удаленном сервере, который мне нужен для SSH. Я считаю, что лучше всего просматривать несколько документов в нескольких окнах на моем рабочем столе, поэтому для этого я открываю два или три сеанса SSH на удаленный сервер. Это становится немного утомительным, хотя, поскольку я должен повторно вводить un / pw несколько раз, и я должен убедиться, что каждое окно остается достаточно активным, чтобы предотвратить автоматический выход из системы.

Есть ли способ SSH в один раз а затем повернуть обратно на него с различными терминальными окнами? (Я использую OSX и Ubuntu преимущественно).


4
2017-12-10 19:45


происхождения




ответы:


Экран и tmux предлагают вам ответы, которые вы ищете, но чтобы немного расширить свой вопрос, я хотел бы предложить вам изучить вопрос о аутентификации на основе ключей SSH, чтобы каждый раз вам не требовалось имя пользователя и пароль вы SSH на свой удаленный сервер :-)


5
2017-12-11 00:03



Хорошая точка зрения. Это, как правило, более безопасно - см. superuser.com/questions/303358/... - Randy Orrison
(Я фактически перешел на ключ-основанный auth) - cwallenpoole


Еще одна возможная альтернатива - использование sshfs.

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

Другая альтернатива - просто использовать возможность vim редактировать удаленные файлы по ssh. Глянь сюда: http://vim.wikia.com/wiki/Editing_remote_files_via_scp_in_vim


3
2017-12-11 00:27





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


2
2017-12-10 19:57



Это может сработать. Я должен попытаться посмотреть. - cwallenpoole


tmux также является вариантом (аналогичным GNU screen). Это база кода меньше и чище, она поддерживает бок о бок панели без каких-либо дополнительных беспорядков, и, на мой взгляд, это гораздо приятнее в использовании. Экран гораздо более распространен, хотя, поэтому стоит научиться использовать в любом случае.

Использовать tmux, просто установите его на машину, в которую вы хотите включить SSH. Затем SSH, запустите tmux, и теперь вы можете запускать несколько терминалов или консольных приложений на одном экране или в разных «окнах» (аналогичных рабочим пространствам Ubuntu) на одном и том же терминале. Пытаться man tmux для элементов управления.


2
2017-12-10 23:35





И еще один вариант - встроенный vim netrw плагин для открытия удаленных файлов. Отлично работает с плагином Project.

Но чтобы иметь возможность работать с чем-либо поверх ssh, первое, что я делаю, это зарегистрировать мой ключ ssh: ssh-copy-id user@host зарегистрировать ключ с хостом и проверить ssh-agent запускается и добавляет ключ, используемый с ssh-add,

Я часто делаю такие вещи, как:

diffsplit scp://user@$REMOTE/path/to/dir/%

который различает файл на $REMOTE принимающий в ~user/path/to/dir с таким же относительным именем, что и текущий открытый файл. Я люблю vim, хотя я уверен, что это возможно и в emacs.


0
2017-12-12 10:45





Вы можете запускать несколько сеансов SSH по одному SSH-соединению, сделав первый вход (который устанавливает соединение) управляющим мастером и последующие вызовы SSH свяжутся с управляющим мастером и переадресуют их сеанс по уже прошедшему аутентификацию соединению.

Сделайте это со следующим в вашем файле конфигурации:

Host somehost
    # ~/tmp/sc must exist beforehand and should have mode 0700.
    ControlPath ~/tmp/sc/%h.%p
    ControlMaster auto

См. ssh_config(5) страница руководства за несколько подробностей о том, как это работает.


0
2018-04-22 14:03





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

Я использую это ежедневно, используя MobaXterm (или в прошлом Xming) на ПК с ОС Windows, чтобы получить доступ к локальной машине разработки Linux - хотя в основном для простых xterm окна.


0
2018-04-22 14:28