Мне интересно, есть ли способ, в то время как в установленном сеансе ssh, копировать файлы на исходный компьютер и с него, без необходимости использовать sftp или scp для создания отдельного соединения, требующего дополнительной аутентификации. Я ищу что-то короткое и быстрое для ввода, или что-то многословное, для которого я могу написать псевдоним или функцию для быстрого ввода.

Вот пример того, как должна выглядеть ситуация с идеалом (для меня):

$ ssh me@otherhost
password:
$ cpback somefile.txt ~/Documents
copying 'otherhost:~/somefile.txt' to 'localhost:~/Documents/somefile.txt'
$ cpfore otherfile.py ~/Downloads
copying 'localhost:~/otherfile.py' to 'otherhost:~/Downloads/otherfile.py'

В этом примере cpback будет копировать с удаленного хоста, а cpfore будет копировать файлы с локального хоста.

1 ответ1

0

Zmodem

Лучше всего использовать SCP, нет проблем с запуском scp во время сеанса терминала SSH. Если вы используете агент аутентификации ssh (например, Pageant для PuTTY и pscp), вам не нужно повторно проходить аутентификацию.

Альтернативой является передача zmodem. Вам нужны sz и / или rz на главном компьютере и эквивалентные возможности на стороне клиента.

Некоторые клиенты ssh изначально поддерживают zmodem (например, secureCRT). Вездесущий PuTTY не делает, но некоторые форки PuTTY делают: Китти, ExtraPuTTY и LePuTTY, например.

Поэтому, если вы войдете в систему, используя Kitty в качестве клиента SSH, вы сможете

  • передать файл котенку, вызвав команду SZ.
  • Передайте файл от Kitty, вызвав команду RZ и выбрав отправку файла с помощью zmodem с помощью меню Kitty.

Вы также можете связать что-то вместе, используя xxd и протоколирование сессии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .