質問:
LinuxからAndroidにssh経由でファイルを送信する
user19
2014-05-15 15:02:34 UTC
view on stackexchange narkive permalink

LinuxPCからAndroidデバイスに特定のファイルを送信したい。ターミナルコマンドを使用して自動的に送信したいので、ドラッグアンドドロップファイルはありません。

wifi経由でファイルを送信するための最良の通信方法がわかりません。アンドロイドに「ftpサーバー」アプリをダウンロードしてftpを使って送信する方法は理解していますが、PCでインターネットブラウザを開いてファイルマネージャーのように転送する必要があるため、これは私の仕事には適していません。そこで、sshを使用してみました:

  scp /home/user/picture1.jpg u0_a167@192.168.1.117:/ storage / emulated / 0  

ただし、常に最終的にエラー:

  ssh:ホスト192.168.1.117ポート22に接続:接続が拒否されました接続が失われました 

この問題を解決するにはどうすればよいですか?または、他にどのコミュニケーション方法を使用すべきかについての推奨事項はありますか?

hっtp://あんdろいd。sたcけxちゃんげ。こm/くえsちおんs/36376/かんtーえxpぉれーふぃぇsーおんーmyーそnyーxぺりあーうーうしんgーmyーうぶんつー12ー10ーぁpとp
四 答え:
Izzy
2014-05-15 15:56:46 UTC
view on stackexchange narkive permalink

ここにはさまざまなオプションがあります:

  • SCP: ダンがすでに指摘したように、AndroidにはSSHサーバーが付属していませんデフォルトでは。つまり、質問で説明されているようにSCPを使用するには、最初にデバイスに SSHサーバーアプリをインストールする必要があります。
  • FTP:その他あなたがあなたの質問で想定しているよりも、FTPはスクリプト化することができます。しかし、それは単純な scp コマンドほど簡単ではないかもしれません。また、SSHの場合と同様に、最初にデバイスにも FTPサーバーアプリをインストールする必要があります。
    重要な注意事項:多くのFTPクライアント/接続はデフォルトでASCII転送になっていますモード。画像、オーディオ/ビデオなどのバイナリ(基本的に:非テキスト)ファイルをコピーする場合は、バイナリモードになっていることを確認してください(コマンドラインを使用する場合は、を発行することで実行できます)。 bin コマンド)。そうしないと、受信側で「壊れたファイル」が発生する可能性があります。
  • ADB:これはAndroidに付属しているオプションですが、デフォルトではUSB接続にバインドされています。開発者設定で USBデバッグを有効にし、USB経由でデバイスを接続するだけで、 adb push adb pull codeなどのコマンドを使用できます。 >デバイスにファイルを配置するか、そこからファイルを取得します。 WiFi経由でそれを行うことを好むので、これを提供するいくつかのアプリもあります。

追加の可能性があるかもしれませんが、上記の3つが最も使用されています。

ご回答有難うございます。私はftp接続で私のAndroid携帯電話を正常に接続しました。次のコマンドを実行すると、 `put / home / user / picture.jpg`の結果は` 551 /home/user/picture.jpg:出力ファイルのエラー `になります。
申し訳ありませんが、それについてはお役に立てません。たぶん、これを新しい質問にし、使用しているFTPサーバーの詳細とコマンドの正確な順序も含めますか?ターゲットフォルダへの書き込み権限がないか、使用可能なスペースが不足している可能性があると推測できます(ただし、異なるエラーコードが表示されるはずです)。 [ftpサーバーのリターンコードのリスト](http://en.wikipedia.org/wiki/List_of_FTP_server_return_codes)は551について次のように述べています。*ページタイプは不明です。*それが何を意味するのかわかりません。
更新:何を変更したのかわかりませんでしたが、再試行すると、ftpコマンドがついに機能します!画像ファイルは正常に送信されましたが、画像が壊れています。理由はわかりません。 @Izzyを助けてくれてありがとう。とにかく、なぜssh通信が機能しないのかまだ興味があります。
うーん、転送にFTPを使用しましたか?転送モードをBINaryに設定しましたか?デフォルトでは、FTPは多くの場合ASCiiモードを使用します(「put ...」の前に「bin」を実行して、バイナリモードになっていることを確認します)。これは「破損」を完全に説明します。
情報をくれてありがとう!私はそれを知りませんでした。今では完全に機能します。
フィードバックをお寄せいただきありがとうございます!この詳細が失われないように私の答えを更新しました。とても簡単に解決できてうれしいです!楽しい :)
Dan Hulme
2014-05-15 15:30:12 UTC
view on stackexchange narkive permalink

必要に応じて scp を使用できますが、最初に電話にSSHサーバーをインストールする必要があります。 Androidには、デフォルトで有効になっているものは付属していません。これはセキュリティ上の悪夢になります。 GooglePlayにはたくさんの選択肢があります。

ご回答ありがとうございます。アンドロイドに「sshサーバー」をダウンロードしました。まず、サーバーを追加し、サーバー名とポートを設定します。また、enablescpオプションをチェックしました。最後にサーバーを起動します。コマンド `scp /home/user/picture1.jpg android@192.168.1.105:48503:/ storage / sdcard0 / Download`を実行しましたが、接続が拒否されました。コマンドを間違えましたか?
私の最初の提案は、IPアドレスが正しく、Wi-Fiルーターが接続をブロックしていないことを確認するために電話にpingを送信することです。
PING 192.168.1.105(192.168.1.105)56(84)バイトのデータ。---192.168.1.105 ping統計--- 10パケット送信、9受信、10%パケット損失、時間9011ms。電話が接続されています
TheYorickable
2014-05-15 15:51:49 UTC
view on stackexchange narkive permalink

携帯電話と同じWi-Fiネットワークを使用していて、ADBを使用するオプションがある場合は、ワイヤレスadbを使用することをお勧めします。電話にワイヤレスADBをセットアップし、PCにADBをセットアップします。次に

adb connect <Local IP of your phone>

そして、デバイスが接続されているときは、

adb push / pathを使用できます。 / local / file / path / remote / location /

ご回答ありがとうございます。現在androidSDKをダウンロードしているので、adbを使ってテストできるようになるまでにかなり長い時間がかかるかもしれません。
Varun Thomas
2017-08-01 23:17:19 UTC
view on stackexchange narkive permalink

Wifiを使用している場合

ESFileExplorerを使用して、MacまたはUnixファイルシステム用のFTPサーバーを作成し、その場でファイルをコピーできます。



このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...