私はPuTTYを使ってLinuxマシンにSSHで接続していて、ファイルをどこかに(どこでも)自分のローカルマシンにコピーしようとしている。 IfigureSCPはその仕事の最良の候補ですが、解決策がうまくいく限り、本当に気にしないでください。
必要なファイルを含むディレクトリ(app.war
)にcd
を入力して、次のように入力します。
scp app.war ./
私は両方とも役に立ちませんでした:
scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/
SCPはクライアント/サーバーツールであり、私のWindowsマシンにはクライアントが必要だと私は考えていました。
間違った構文を使っているだけですか。それとも私はオフベースの方法ですか?もしそうなら、私はどんな選択肢がありますか?前もって感謝します!
あなたがあなたのWindowsにファイルをコピーして戻すためにあなたはあなたのWindows上で走るSSHデーモン/サービスを必要とします、代わりにこのツールを使うほうがずっと簡単です大好きです!
あなたは正しいです。 SSHDは、ホスト上で動作するSSHサーバーサービスです。 SSHクライアント(PuTTYなど)、SCPクライアント、およびSFTPクライアントからの接続を受け入れます。
pscp
は、 PuTTY がホストされているのと同じWebサイトからダウンロードできます。
Windowsマシンからは、次のようなコマンドを実行します。
pscp.exe [email protected]:/path/to/app.war c:\tmp
ファイルをWindowsマシンにSCPするには、Windows上にSSH/SCPサーバーが必要です。
デフォルトではWindowsにSSH/SCPサポートはありません。 Windows用のMicrosoftビルド OpenSSHをインストールすることができます ( リリースとダウンロード )。 Windows 10バージョン1803以降ではオプション機能として利用可能です。 Windowsの古いバージョンに手動でインストールすることもできます。
私はOpenSSHのこのMicrosoftビルドを使ってWindows上に SSH/SFTPサーバーをセットアップするためのガイドを用意しました 。
も参照してください。IIS SFTPはWindowsでネイティブにサポートされていますか?
WindowsマシンからLinuxサーバーにSSH接続するときに、LinuxサーバーからWindowsサーバーにファイルをアップロードするのではなく、実際にはLinuxサーバーからWindowsサーバーにファイルをダウンロードすることができます。
あなたがWindowsからLinuxへのSSHアクセスを持っているのであれば、あなたもSCPアクセスを持っています(あるいはもっと良いSFTPアクセス)。
利用可能な任意のSCP/SFTPクライアントを使用してください。
WinSCP SFTP/SCPクライアント を使用できます。これには GUI と コマンドラインインターフェイス の両方があります。
もう1つの選択肢はPuTTYツールセットです。これには pscp
コマンドラインツール が含まれ、OpenSSHのscp
コマンドに似た構文が使用されます。
(私はWinSCPの作者です)
Windows 10にOpenSSHが組み込まれました。 https://docs.Microsoft.com/ja-jp/windows-server/administration/openssh/openssh_install_firstuse
Open PowerShell as an Administrator.
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
ipconfig
ifconfig
ssh-keygen.exe
cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
上記の方法は私にはうまくいきませんでしたので、私は手動で公開鍵をSCPし、それをC:/Users/YOU/.ssh/authorized_keysファイルに貼り付けました。
それでもまだうまくいきませんでしたので、sshd_configファイルを修正しなければなりませんでした。
管理者としてメモ帳を開きます
%programdata%\ ssh\sshd_configを開きます。
以下の行を追加してください。
Match User YOU
AuthorizedKeysFile C:/Users/YOU/.ssh/authorized_keys
System Settings...Sign-in options
- なお、Windowsのログイン画面を無効にするには、a)[サインインを要求する]オプションを[しない]に設定し、[netplwiz]コマンドを使用して[ユーザはパスワードを入力してください]チェックボックスをオフにします。
scp FILE WINDOWS_IP:C:/Users/YOU/Desktop