2016-08-02 8 views
0

SSH経由でリモートサーバの場所からデバイスにあるローカルファイルにアクセスしたいとします。RubyでSSH経由でリモートロケーションからローカルファイルを読み取る

ローカルファイルには、私はSSHを使ってリモートの場所からそれを読んでくださいどのようにこのディレクトリ

/Desktop/applications.csv 

、それが中に配置されているマシンのIPアドレスに192.168.1.1、ユーザーuser1

されていますRuby on Railsで?

私はこれをやってみましたが、それは

hash = Digest::MD5.hexdigest(File.read("ssh [email protected] /Desktop/applications.csv")) 

ないそれについて移動する方法がわからを失敗しました。どんな助けもありがたい。

+0

[ruby Net :: SSHを使用してsudo経由でリモートファイルを読み取ることができます](http://stackoverflow.com/questions/9840573/use-ruby-netssh-to-read-a-remote-file- via-sudo) – AlexN

答えて

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ページにはもっと多くの例があります。

+0

面白いですが、これを実行すると、ssh :: authenticationfailedと伝えられます。ユーザーの現在のパスワードを入力したにもかかわらず。理由は何ですか? –

関連する問題