web-dev-qa-db-ja.com

ローカルファイルをMacからターミナルのsshセッションにコピーする

私はbashコマンドを使用するのが初めてで、いくつかの問題があります。私は自分の作業ファイルのいくつかを含むlinuxボックスにsshしています。 Macにローカルファイルがあり、サーバーにコピーする必要があります。

ここまでの手順は次のとおりです。1)ssh [email protected] 2)入力されたパスワード3)pwd 4)作業ディレクトリ:home/usrname

私はこの後に立ち往生しています。 Macのドキュメントにローカルフォルダーがあります。 sshしたサーバーの作業ディレクトリにコピーしたい。

あなたの助けに感謝。ありがとう

7
ixbo45

リモートマシンにSSH接続すると、あたかも他のマシンの前に座ってコマンドを実行しているように見えます。その状態にある間は、ファイルをコピー(またはコピー)することはできません。代わりに、別のツールscpを使用する必要があります。これもsshファミリーに属し、実際には舞台裏でsshを呼び出します。これは、ローカルディレクトリをリモートマシンにコピーする方法です。

scp -rp /path/to/local/dir [email protected]:/path/to/remote/dir

-rモード(再帰を表す)を使用して、ディレクトリを再帰的にコピーしました。 scpのマニュアル も参照してください。

26
redneb

これには、sftpの代わりにsshを使用します。以下を試してください:

  1. sftp [email protected]
  2. パスワードを入力する
  3. cd <directory where you want to transfer the file>
  4. put <name of file you want to transfer>

一部のコマンドの前に「l」を追加して、ローカルで実行することを示すこともできます。つまり、lsはリモートサーバー上のファイルを表示し、llsはローカルマシン上のファイルを表示します。

編集:

あなたはどちらかを確認したいでしょう

a。 sftpプロセスを開始する前に、転送するファイルを含むフォルダーに移動します。

b。 sftpセッションに入ったら、lcdllsを使用して、転送するファイルを含むローカルフォルダーに移動します。

コメントで述べたように、転送するファイルへのフルパスを使用しても機能しません。

10
Malcolm G

Linuxコマンドプロンプトから:scp -C -r [email protected]:/path/to/remote/directory/ target/directory

0
Davislor