Saya SSHing ke mesin Linux menggunakan Putty dan mencoba untuk menyalin file di suatu tempat (di mana saja) ke mesin lokal saya. Saya pikir SCP adalah kandidat terbaik untuk pekerjaan itu tetapi tidak terlalu peduli, asalkan solusinya bekerja!
I cd
ke direktori yang berisi file yang saya inginkan ( app.war
) dan ketik yang berikut ini:
scp app.war ./
Saya sudah mencoba keduanya tetapi tidak berhasil:
scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/
Itu membuat saya berpikir bahwa mungkin SCP adalah alat klien / server dan membutuhkan klien di mesin Windows saya, yang tidak ada di sana.
Apakah saya hanya menggunakan sintaks yang salah? Atau apakah saya jauh dari basis? Jika demikian, opsi apa yang saya miliki? Terima kasih sebelumnya!
scp some_file user@host:/c/temp
Jawaban:
agar Anda dapat menyalin file kembali ke Windows Anda, Anda perlu daemon SSH / layanan untuk berjalan pada Windows Anda, itu jauh lebih mudah untuk menggunakan alat ini sebagai gantinya, ia memiliki kemampuan untuk mengimpor sesi dari Putty, klien ke depan yang sangat sederhana Anda akan suka!
WinSCP :: Klien SFTP dan FTP gratis untuk Windows
sumber
WinSCP
adalah solusi yang bagus untuk tugas itu.Anda benar. SSHD adalah layanan server SSH yang berjalan di host. Ia menerima koneksi dari klien SSH (seperti Putty), klien SCP, dan klien SFTP.
Anda dapat mengunduh
pscp
dari situs web yang sama di mana Putty diinangi.Dari mesin windows, Anda akan menjalankan perintah yang mirip dengan
pscp.exe [email protected]:/path/to/app.war c:\tmp
sumber
Untuk SCP file ke mesin Windows, Anda memerlukan server SSH / SCP pada Windows.
Tidak ada dukungan SSH / SCP di Windows secara default. Anda dapat menginstal Microsoft build OpenSSH untuk Windows ( Rilis dan Unduhan ). Ini tersedia sebagai fitur opsional pada Windows 10 versi 1803 dan yang lebih baru. Itu juga dapat diinstal secara manual pada versi Windows yang lebih lama.
Saya telah menyiapkan panduan untuk mengatur server SSH / SFTP pada Windows menggunakan Microsoft build dari OpenSSH ini .
Lihat juga Apakah IIS SFTP didukung secara asli oleh Windows?
Meskipun saat Anda memasukkan SSH ke server Linux dari mesin Windows, Anda sebenarnya dapat mengunduh file dari server Linux ke server Windows, alih-alih mencoba mengunggah file dari server Linux ke server Windows.
Di Anda memiliki akses SSH dari Windows ke Linux, Anda memiliki akses SCP juga (atau lebih baik akses SFTP).
Gunakan klien SCP / SFTP yang tersedia.
Anda dapat menggunakan klien WinSCP SFTP / SCP , yang memiliki antarmuka GUI dan command-line .
Alternatif lain adalah PutTY toolset, yang mencakup
pscp
alat baris perintah dengan sintaksis yang mirip denganscp
perintah OpenSSH . Juga versi terbaru Windows 10 hadir dengan OpenSSHscp
built-in dan dapat diinstal pada versi yang lebih lama juga.(Saya penulis WinSCP)
sumber
pscp
secara fungsional identik dengan OpenSSHscp
, yang sudah tersedia di semua / sebagian besar distribusi sudah.Windows 10 sekarang memiliki OpenSSH bawaan. Https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Dapatkan prompt perintah admin
Periksa versi yang tersedia
Instal klien
Instal server
Mulai server dan aktifkan saat boot
Temukan alamat IP Windows Anda
Di mesin jarak jauh (Linux) Anda, temukan alamat IP Anda.
Buat kunci SSH publik
Salin kunci publik dari mesin lokal (Windows) ke jarak jauh (Linux) sehingga Anda tidak harus mengetik kata sandi setiap saat.
Perhatikan bahwa ssh-copy-id saat ini tidak tersedia di Windows.
Lakukan hal yang sama pada mesin Linux Anda (Catatan, ssh-copy-id tidak berfungsi)
Metode di atas tidak bekerja untuk saya, jadi saya akhirnya secara manual SCPing kunci publik berulang dan menempelkannya ke file C: /Users/YOU/.ssh/authorized_keys.
Itu masih tidak berfungsi, jadi saya harus memodifikasi file sshd_config.
Buka Notepad sebagai Administrator
Buka% programdata% \ ssh \ sshd_config
Tambahkan baris berikut:
Buat kata sandi pada Windows jika Anda belum memilikinya
- Catatan, Anda masih dapat menonaktifkan layar masuk Windows dengan a) Mengatur opsi 'Wajibkan masuk' untuk tidak pernah dan b) Menggunakan perintah 'netplwiz' dan menghapus centang pada kotak centang 'Pengguna harus memasukkan kata sandi ...'.
Sekarang Anda dapat menggunakan SSH atau SCP dari mesin Linux Anda
sumber
Anda dapat melakukan ini dengan menggunakan subsistem Linux Ubuntu untuk Windows (Anda harus mengaktifkan ini sebagai fitur Windows). Kemudian Anda dapat menggunakan klien terminal Linux yang berjalan di Windows dengan mendapatkannya dari Microsoft Store (mis. Ubuntu 16.04 LTS). Kemudian, jika Anda memiliki ssh security yang diatur untuk remote ke mesin Linux Anda, Anda dapat
scp
dari terminal Windows Ubuntu lokal Anda (ketika login sebagai nama pengguna yang Anda setel untuk Linux Anda) sesuatu seperti ini:scp -i ~/.ssh/my_rsa [email protected]:~/myfile ~/
... masukkan frasa sandi RSAFile jarak jauh akan disalin ke sistem file Ubuntu lokal Anda yang digunakan oleh Windows misalnya
C:\Users\my.username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\my_linux_username
sumber
scp(.exe)
adalah bawaan. Anda tidak perlu menginstal apa pun.Langkah 1: Unduh pscp
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
(Berdasarkan mesin Anda unduh versi masing-masing)
Langkah 2: Mengenal perintah pscp
Untuk melakukannya, buka command prompt di mesin windows Anda, buka direktori tempat Anda telah mengunduh pscp.exe dan ketik "pscp"
Langkah 3: Transfer file dari mesin Linux Anda ke mesin Windows
buka command prompt Anda, dan jalankan perintah di bawah ini dengan memberikan detail Anda:
pscp [email protected]:/path/of/your/File/nameofyourfile.txt ./
dan perintah ini akan mentransfer file dari mesin Linux Anda ke direktori mesin windows Anda saat ini
Langkah 4: Transfer file dari mesin Windows Anda ke mesin Linux,
buka command prompt Anda, dan jalankan perintah di bawah ini dengan memberikan detail Anda:
pscp nameofyourfile.txt [email protected]:/path/where/youwantyourfile
Saya harap ini jelas dan bekerja untuk Anda semua!
sumber