SSH позволяет запускать команды в удаленной системе. Без указания каких-либо команд создается pty и запускается оболочка, что, вероятно, является единственным способом, которым вы ее вызываете.
Если вы хотите запустить cat для отображения файла вместо запуска оболочки, просто запустите:
ssh remote_host cat /remote/file/to/view
Это отобразит удаленный файл и вернет вас в приглашение локальной оболочки.
Если вы хотите сохранить этот файл, просто перенаправьте вывод в локальный файл, который вы хотите сохранить как:
ssh remote_host cat /remote/file/to/view > local/file/to/create
Если вы хотите скопировать весь каталог, вы можете передать вывод tar через сеанс ssh:
ssh remote_host tar cf - /dir/to/copy | tar xvf -
Локальный процесс tar (тот, который извлекает архив) удалит начало / выключение, если вы указали абсолютный путь в удаленном процессе, как в примере выше. В этом примере будет создана иерархия папок dir / to / copy в текущем каталоге вашего локального хоста. Если вы хотите удалить дополнительные компоненты пути, используйте параметр --strip-components
.
Кроме того, если вы хотите подключиться к хосту и отредактировать файл в vi за один шаг, вы должны указать ssh создать pty для вас, используя опцию -t
:
ssh -t remote_host vi file/to/edit
Если он вызывается в интерактивном режиме (команда не указана, поэтому он запускает оболочку), он достаточно умен, чтобы создать pty по умолчанию. С помощью указанной команды вы должны явно указать ей создание pty.
Смотрите страницу ssh для более подробной информации.