В Ruby я могу копировать файлы, используя Net :: SSH? - PullRequest
0 голосов
/ 08 января 2019

Насколько я могу судить, мне нужно использовать и Net :: SCP, и Net :: SSH, если я хочу скопировать файл на удаленный хост, а затем манипулировать им из командной строки.

Было бы неплохо установить один сеанс SSH, выполнить копирование, а затем использовать то же соединение для распаковки файла и их установки.

Я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Рассматривали ли вы Net :: SFTP? Наряду с этим и Tempfile, я в настоящее время использую его в проекте для копирования с локального на удаленное устройство. Вы также можете делать простые модификации файлов. Если бы вы были так склонны, вы могли бы использовать Stream.IO, чтобы редактировать файл еще больше.

https://github.com/net-ssh/net-sftp

http://net -ssh.github.io / нетто-SFTP /

0 голосов
/ 08 января 2019

Net :: SCP позволяет легко получить ссылку Net :: SCP из существующего сеанса Net :: SSH:

require "net/ssh"
require "net/scp"
Net::SSH.start("remote.host", "username", :password => "passwd") do |ssh|
  ssh.scp.upload("/local/path", "/remote/path")
  ssh.exec("...insert commands...")
end

Подробнее читайте здесь: http://net -ssh.github.io / net-scp / classes / Net / SCP.html

...