PuTTYでログインしているセッションとの間でファイルを転送する


85

PuTTYを使用してリモートホストにログインしています。

ローカルマシンからPuTTYにログインしているマシンにファイルを転送するコマンドは何ですか?

回答:


73

これはおそらくあなたが求めていることに対する直接の答えではありませんが、SSHセッションを介してファイルを転送する必要がある場合は、SCPまたはSFTPを介した優れたファイル転送プログラムであるWinSCPを使用します。もちろん、これはWindowsを使用していることを前提としています。


WinScpを試しましたが、特権を取得するためにボックスでコマンドを実行する必要があります。これはWinScpを使用して可能ではないようですか?
青空

@ user470184:正解です。私は通常、PuttyとWinSCPを並べて実行します。実際、WinSCPから始めることができ、必要に応じて「このサイトをPuttyで開く」ためのコンテキストメニューがあります。
Guido Domenici 2011年

@GuidoDomeniciここでWinSCPの私の経験を参照してください:ux.stackexchange.com/q/35936/4424 :-)
corsiKa 2013


サーバーは秘密鍵による資格情報を使用するため、WinSCPはサーバーに接続しません。WinSCPはSSH-1キーをサポートしていません。そのタイプのキーをどのようにサポートするかというプログラムを探しています。あなたはなにか考えはありますか?
ミシャノン2018

43

  • スタートメニューをクリックします。
  • 実行をクリックします
  • オープンボックスに「cmd」と入力し、[OK]をクリックします
  • コマンドプロンプトで、次のように入力します。

    c:> pscp source_file_name userid @ server_name:/ path / destination_file_name。

例えば:

c:> pscp november2012 wrhse@warehouse.cit.cornell.edu:/ mydata / november2012。

  • プロンプトが表示されたら、サーバーのパスワードを入力します。

楽しい


14
そして、次のように反転できます: 'c:> pscp wrhse@warehouse.cit.cornell.edu:/ mydata / november2012 november2012'リモートマシンからファイルを受信します。
xan 2013

3
pscpはパテパッケージの一部ですが、パス上になかったため、これが機能する前にパスに追加する必要がありました。pscpは、パテexeと同じ場所にある必要があります。私の場合、c:\ Program Files(x86)\ PuTTYです。
Frek 2016年

ログイン後にユーザーを切り替える必要がある場合はどうなりますか?sudo su - user
Stevoisiak

1
あなたは全体のPuTTYパッケージをインストールしなかった場合は、別にPSCPプログラムをダウンロードする必要がありますchiark.greenend.org.uk/~sgtatham/putty/latest.html
ジェームズ・ニュートン

17

PuTTYには通常、この目的に活用できるpsftpというクライアントが付属しています。私はあなたが標準のPuTTYクライアントを通してそれをすることができるとは思わない(私はそれについて間違っていると証明されるかもしれないが)。

PuTTYは、リモートマシンを操作するためのアクセスのみを提供します。リモートマシンに座っている以上に、2つのファイルシステム間の直接リンクは提供されません。


psftpがリモートマシンにインストールされていない
blue-sky

4
する必要はありません。ローカルマシンでのみ。
corsiKa 2011年

そして、psftpを使用してファイルを転送するための情報を次に示します。pic.dhe.ibm.com/ infocenter
tsmscv13 /

8

PuTTYウィンドウで開いたSSHセッションからローカルWindowsとの間でファイル転送を開始する方法はありません。

PuTTYは接続の共有をサポートしていますが。

互換性のあるファイル転送クライアント(pscpまたはpsftp)を実行する必要がありますが、新しいログインは必要ありません。自動的に(有効な場合)既存のPuTTYセッションを利用します。

共有を有効にするには
、PuTTYツール間のSSH接続の共有を参照してください。


別の方法は、GUI SFTP / SCPクライアントであるWinSCPを使用することです。リモートサイトを閲覧しているときに、[PuTTYで開く]ボタンを使用して、同じサイトへのSSHターミナルをいつでも開くことができます。

PuTTYのオープニングセッションを参照してください。

追加の設定により、PuTTYがWinSCPで参照しているのと同じディレクトリに自動的に移動するようにすることもできます。

同じディレクトリでPuTTY開くを参照してください。

(私はWinSCPの作者です)


1
マーティン、WinSCPは爆発的です-良い仕事人です。そして、本当にありがとう:-)
shadowf 2016

7

psftp.exeは次の場所からダウンロードすることもできます。

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

あなたがそれを実行するとき、あなたはタイプします:

open "server name"

次に:

put "file name"

(コマンドの完全なリストを取得するには、helpと入力してください。)

入力get <file name>して、リモートマシンからローカルマシンにファイルをダウンロードすることもできます。


6

ファイルが1つしかない場合は、次の手順を使用できます(パテ)。

  1. vi filename.extension(サーバー上のアクティブなフォルダーに新しいファイル名を開きます)、
  2. パテの上でコピー+マウスの右クリック(コピーアンドペースト)、
  3. 編集して保存します。=> viエディターコマンド

次のコマンドでファイル権限を編集します:chmod u + x filename.extension


これは、クリップボードに収まるテキストファイルに驚くほどうまく機能します。バイナリファイルについてはxxdを参照してくださいが、バイナリを16進数に変換するWindowsプログラムも必要になります。例えば、hexdumpに対して
ジェームズ・ニュートン

4

to / fromについて質問したので、「from」の部分で機能するトリックを次に示します。[設定の変更...]画面、ターミナルを開き、[プリンタ]でANSIプリンタ出力を次の宛先に送信します。 '[一般/テキストのみ]を選択します。

リモートシステムで、これを1行で実行します。

tput mc5; cat whatever.txt; tput mc4

Puttyは、ファイルが保存されたことを通知します。これは、端末をプリンターモード(tput mc5)にし、ファイルを画面(cat)に印刷してから、プリンターモード(tput mc4)をオフにします。すべてのコマンドを1行に配置しないと、Puttyがすべての端末出力をバックグラウンドでファイルに保存しているため、画面がフリーズして表示されます。

tputコマンドがないより制限されたシステム(qnapなど)を使用している場合は、tputmc5の代わりにprintf "\ x1b [5i"を、tputmc4の代わりにprintf "\ x1b [4i"を試すことができます。 。

真ん中のコマンドは、画面に出力されるものです。したがって、tail -n 10000 blah.logを使用してログファイルの最後の10k行をダウンロードするか、base64エンコーダーを使用してバイナリファイルを印刷可能なものにマップします(ローカルシステムでデコードします)。

printf "\x1b[5i"; openssl enc -base64 -in something.zip; printf "\x1b[4i"

あなたは、天才です!私はしばらくの間、アクティブなSSHセッションを介してファイルを転送する方法を探していましたが、これは私が簡単に作業できる最初の方法です。この手法を変更して、macOSまたはLinuxベースのクライアント(つまり、PuTTY以外の端末)の端末を使用して機能するかどうかを知っていますか?
ドミニク

3

秘密鍵の検証を行う必要がある場合。コマンドプロンプト(cmd)で、

最初;

set PATH=C:\PuttySetupLocation

第二に;

pscp -i C:/MyPrivateKeyFile.ppk C:/MySourceFile.jar ubuntu@55.69.41.155:/home/ubuntu

また、追加のオプションが必要な場合は、次のリンクを参照してください。 https://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html


のポイントはset PATH=C:\PuttySetupLocation何ですか?C:\PuttySetupLocation\pscp直接やってみませんか?-変更する場合でも、PATH完全にリセットするのではなく、新しいパスを追加する必要があります。
マルティン・プリクリル2017

ランニングセットPATH = Cを:\ PuttySetupLocationはパスをリセットしない、唯一の新しいエントリとしてパスにPSCPを追加します。また、C:\ PuttySetupLocation \ pscpの使用についても正しいです。これも有効な場合があります。
オマールタスキ

1
パスをリセットします。
マルティン・プリクリル2017

どのパスワード?パスワード設定とは関係ありません。
オマールタスキ

どのパスワード?「パス」ではなく「パスワード」のタイプミスで投稿した直後にコメントを読んだ方がいいかもしれません。投稿してから1秒後に修正しました(コメントのずっと前に)。
マルティン・プリクリル2017

3

ここを見て:

http://web.archive.org/web/20170106202838/https://it.cornell.edu/services/managed_servers/howto/file_transfer/fileputty.cfm#puttytrans

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.htmlにpscp.exeあるPuTTYからの使用をお勧めします。

セッション中のすべてのコマンドがサーバーに送信されるため、FTPのような直接転送はできません。


おかげで、リンクを廃止する秘密鍵を使用してログインしているimは詳細に見えませんか?
青空

1
@ user470184方法がわからずに2年間行った場合、これを行う方法に関するいくつかの手順は、以下の下部にあります。>このページ<
Hawkwing 2013

1

Putty(pscp / plink.exe)を使用したファイルの転送

デフォルトのパテインストールでは、ファイルを転送するための複数の方法が提供されています。ほとんどのputty場合、デフォルトのパス上にあるためputty、コマンドプロンプトから直接呼び出すことができ ます。そうでない場合は、環境変数を変更する必要があるかもしれません。こちらの手順をご覧くださいhttps//it.cornell.edu/managed-servers/transfer-files-using-putt

ステップ

  1. 次のように入力してコマンドプロンプトを開きます cmd

  2. からフォルダを転送するには Windowsコンピューターから別のWindowsコンピューターに 使用します(-rファイルが再帰的に転送されることを示すフラグに注意してください。ファイルを圧縮する必要はありません)。 pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"

  3. あなたからファイルを転送するには Windowsコンピューターから別のWindowsコンピューターに 使用します。 pscp -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"

  4. 時々、あなたは持っているかもしれません plinkインストールした。plinkファイルの転送に使用できる可能性がありますが、単純なテキストファイルに限定するのが最適です。バイナリファイルでは動作が不明な場合があります(/superuser/1289455/create-text-file-on-remote-machine-using-plink-putty-with-contents-of-windows-lo): plink -i C:/Users/username/.ssh/id_rsa.ppk user@host <localfile "cat >hostfile"

  5. LinuxサーバーからWindowsコンピューター、Linuxコンピューターにファイルを転送するには、 pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" username@10.15.48.16:/home/username

これらすべてが機能するためには、適切な公開/秘密鍵が必要です。パテ用にそれを生成するには、https://superuser.com/a/1285789/658319を参照してください。


0

このようにして、Windowsではpscpは直接アップロードを許可します(たとえば、キーの受け入れを要求することなく)。

pscp.exe -scp -pw 'my_pw' -v -i my.ppk -l root -batch -sshlog logfile19.txt -hostkey ba:2e:4d:12:68:82:19:a1:d2:22:bc:12:c2:1a:44:a7 hallo4.txt root@10.10.10.10:/srv/www/htdocs/xml_parser/hallo4.txt

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.