我想通过SSH通过远程服务器位置访问位于设备上的本地文件。
本地文件位于此目录
中/Desktop/applications.csv
,它所在机器的IP地址为192.168.1.1
,用户为user1
如何在Ruby on Rails中使用SSH从远程位置读取它?
我尝试过这样做,但失败了
hash = Digest::MD5.hexdigest(File.read("ssh user@192.168.1.1 /Desktop/applications.csv"))
不确定如何去做。任何帮助表示赞赏。
答案 0 :(得分:0)
你有没有看过SSHKit?它允许您通过ssh在远程计算机上运行命令。
举个例子:
require 'sshkit'
require 'sshkit/dsl'
include SSHKit::DSL
on '192.168.1.1'
within "/Desktop/" do
with rails_env: :production do
rake "read_applications"
end
end
end
'read_applications'rake任务将执行File.read以及其他所需的操作。
编辑:
它是否知道您正在使用哪个用户进行身份验证?可能需要像这样添加用户:
on '192.168.1.1'
within "/Desktop/" do
as :user do
# do something
end
end
end
并更改:用户是您的用户名。在Github页面上加载了更多示例。