Я хочу загрузить файл из активного сеанса SSH. Во многих случаях я , вероятно , мог бы просто использовать SFTP, scp
, и rsync
др , но бывают случаи , когда я повышенные разрешения на удаленном сервере , таким образом , я не могу использовать эти методы.
Если вы изо всех сил пытаетесь понять, что я имею в виду, представьте, что вы хотите загрузить что-то с /root/
или /var/log/auth.log
. Root-логин отключен (потому что мы не идиоты). Как вы получили этот файл? Скопировать его куда-нибудь в менее защищенный, а затем переместить? Это неуклюже Существуют также сценарии, в которых удаленный путь является сложным или временным, или даже не является путем, потому что я хочу, чтобы выходные данные удаленной команды хранились локально. Хранить удаленно, потом копировать? Глухой звук!
Есть несколько более неуклюжих способов достижения этих версий, но в идеальном мире у меня было бы что-то похожее на локальный доступ для записи с удаленного сервера, используя существующий сеанс SSH в качестве канала. Что-то вроде (это просто впечатление художника):
$oli@remote: cp /root/cheesecake /local/
И это только появляется в моем местном cwd
. И двунаправленный доступ не будет плохой вещью.
Прошло восемь долгих лет с тех пор, как я задал этот вопрос, и мы увидели реальный диапазон глухоты, но это остается проблемой, с которой я до сих пор иногда борюсь.
Я превратил вопрос в нечто более идеалистическое. Я полностью понимаю, что в настоящее время не может быть идеального ответа. Все прошлые и будущие усилия по достижению моего идеала приветствуются.
zssh
вероятно, ближе всего к zmodem-подобному рабочему процессу, который вы, возможно, помните.