SSHを使用してファイルを転送できますか?

SSHを使用してファイルを転送できますか?

使っていますパテWindows 7では、SSHを介して学校のコンピュータルームに接続します。 SSHを使用してWindowsコンピュータから学校のコンピュータのユーザーにファイルを転送できますか?

答え1

PuttyダウンロードページでPSCPツールを使用してください。

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PSCPは、sshコマンドを介してcp(コピー)を実行するscpのパテバージョンです。

PSCPはWindowsコンピュータにインストールする必要があります(ダウンロードするだけでは実際にはインストールプロセスはありません。「パッケージングファイル」セクションにはすでにpscp.exeが含まれています)。学校サーバーには何もインストールする必要はありません。 PSCPとscpはどちらもSSHを使用して接続します。

コメントの使い方質問に答えるには:

コンピュータからリモートサーバーにアップロードするには:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path

これにより、file.txtファイルがサーバー上の指定されたディレクトリにアップロードされます。ターゲットパスの最後の部分がディレクトリではない場合は、新しいファイル名になります。次のように別の名前のファイルをアップロードすることもできます。

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt

リモートサーバーからコンピュータにファイルをダウンロードするには:

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\

または

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt

または

c:\pscp user@remote:\home\user\some\file.txt .

最後にポイントが1つあります。これにより、指定されたファイルが現在のディレクトリにダウンロードされます。

これはコメントでこれまで言及されているので、興味があれば、WinSCPがこれらすべてのためのGUIを提供することも指摘する必要があります。http://winscp.net/eng/download.php

答え2

Windows PowerShellを使用できます(実際にはすべてのUNIXオペレーティングシステムでも機能するOpenSSHコマンドです)。

scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>

-PSSHがデフォルトポート(22)で開いている場合は、フラグを省略できます。

リモートホストからファイルをコピーするためにローカルパスとリモートパスの場所を切り替えます。

たとえば、

  • SSH経由で "ps.key"ファイルをコピーします。
  • ローカルオペレーティングシステムはWindows 10です。
  • リモートアドレスは192.168.88.242で、ssh(デーモン)はポート1688で動作しています。
  • リモートユーザー名は「nick」です。

注文する:

ローカル(win) -> リモート(unix):

scp -P 1688 "D:\MEGA\ps.key" [email protected]:/home/nick/ps.key

リモート - >ローカル(リモートホストからコピー):

scp -P 1688 [email protected]:/home/nick/ps.key "D:\MEGA\ps.key"

その後、ターゲットキーのフィンガープリントを確認し(以前にPowerShellを介してホストに接続したことがない場合)、リモートホストで自分自身を認証する必要があります(ssh-agentを使用していない場合は、ユーザーパスワードまたはssh-keyパスワードを入力してください)。

OpenSSHが組み込まれているので、インストールせずにwin10で動作します。

答え3

LINUX / UNIXサーバーと通信するには、スラッシュ(/)を使用する必要があります。

c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path

答え4

次のコマンドを使用して、多数のファイルをグループ化できますtar

tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'

...これは、ローカルシステムの現在のディレクトリにあるすべてのファイルをターゲットパスに再帰的に圧縮してストリーミングしながら、リモートシステムのストリームを解凍して拡張します。

標準出力に作成されたすべての項目で同様の操作を実行できます。cat明らかな選択です。

cat ./localfile | ssh user@remote 'cat >./remotefile'

関連情報