Есть ли клиент, сочетающий SSH и SFTP? [закрыто]

Я часто использую ssh и sftp бок о бок в моем терминале Ubuntu. Типичный рабочий процесс выглядит следующим образом:

  1. Войдите на какой-либо сервер с помощью SSH и SFTP, используя один и тот же открытый ключ в разных окнах терминала.
  2. Создайте каталог с SSH.
  3. поместите несколько файлов в каталог с SFTP.
  4. Установите разрешения с помощью chmod по SSH.

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

У меня есть следующие вопросы:

Есть ли веская причина, по которой процессы ssh и sftp должны храниться отдельно? Или для меня было бы «безопасно» написать приложение, которое объединяет их?

Спасибо!

Обновление: Похоже, что sftp поддерживает множество общих команд терминала. Однако он по-прежнему не поддерживает произвольные команды терминала, как в случае с ssh .Так что я все же хотел бы увидеть ответ на эти вопросы, а не обоснование того, почему ответ не нужен.

-3
задан 2 August 2016 в 02:55
3 ответа

Нет ничего лучше "команд SSH". Это команды оболочки. Для терминала / клиента SSH оболочка - это просто черный ящик с входом и выходом. Клиент даже не понимает, что вы вводите какие-то команды, пусть только понимает их.

Таким образом, любое решение, которое делает то, что вы просите, должно быть адаптировано для определенной системы и оболочки, чтобы иметь возможность понять, что вы

Теоретический клиент, конечно, может иметь определенную команду или префикс, который вы бы использовали для указания, если вводимая вами команда является командой оболочки или SFTP. Аналогично ftp префикс / команда escape-to-local-shell ! .

Но даже в этом случае у вас могут возникнуть трудности с сопоставлением текущих рабочих каталогов. Если ни для чего другого, то потому, что SFTP может быть chrooted, а оболочка - нет. Имейте в виду, что SFTP - это независимая система, которая теоретически может использовать совершенно другое представление файловой системы.

Таким образом, можно сделать вывод, что это выполнимо, но это так много взлома и так много специфичных для системы и оболочки, что сделать систему универсальной вряд ли возможно. Для надежного решения потребуются некоторые серверные компоненты (например, особый тип оболочки).


Я знаю, о чем пишу, потому что я реализовал часть этого для моего клиента SFTP, WinSCP. Там, в рамках сеанса SFTP, вы можете открыть окно терминала / консоли , которое запускает сеанс оболочки и меняет его рабочий каталог на текущий рабочий каталог SFTP (отправив оболочку cd команда). Так что я знаю, насколько это хакерское и ненадежное.

7
ответ дан 5 December 2019 в 21:49

Используйте sshfs для монтирования удаленной файловой системы. Затем запускайте команды или копируйте файлы так же, как в локальной системе. Обратитесь к документации вашей системы , чтобы узнать, как она используется.

1
ответ дан 5 December 2019 в 21:49

Я не знаю ничего, что буквально объединяет sftp и ssh в единый интерфейс, который вы описали. Не зная более детально, что вы хотите видеть от такого клиента, я не могу дать лучшего ответа.

Есть и другие способы сделать то, что вы описываете.

sftp может делать все это

rbabchis@haze:~/tmp$ sftp localhost
rbabchis@localhost's password: 
Connected to localhost.
sftp> mkdir test
sftp> cd test
sftp> put /home/rbabchis/chicken.JPG
Uploading /home/rbabchis/chicken.JPG to /home/rbabchis/test/chicken.JPG
/home/rbabchis/chicken.JPG                                                                                             100% 2035KB   2.0MB/s   00:00    
sftp> chmod 777 chicken.JPG
Changing mode on /home/rbabchis/test/chicken.JPG
sftp> quit
rbabchis@haze:~/tmp$ 

Передачи в сеансе терминала SSH

Но если речь идет о передаче файлов во время удаленного приглашения bash через SSH, я еще не видел стандартного способа сделать это. Однако ваш вопрос напомнил мне о 90-х годах, когда мы использовали такие вещи, как Zmodem для передачи через терминальный сеанс. Я погуглил и посмотрел, что нашел.

Проверьте это (используя Zmodem поверх ssh):

http://www.extraputty.com/features/zmodem.html

http: / /zssh.sourceforge.net/

0
ответ дан 5 December 2019 в 21:49

Теги

Похожие вопросы