Saya mencoba scp file dari server jauh ke mesin lokal saya. Hanya port 80 yang dapat diakses.
Saya mencoba:
scp -p 80 [email protected]:/root/file.txt .
tapi ada kesalahan ini: cp: 80: No such file or directory
Bagaimana cara menentukan nomor port dalam perintah scp?
Jawaban:
Tidak seperti ssh, scp menggunakan saklar P huruf besar untuk mengatur port alih-alih huruf kecil p:
Saklar p huruf kecil digunakan dengan scp untuk menjaga waktu dan mode.
Berikut adalah kutipan dari halaman manual scp dengan semua detail mengenai kedua sakelar, serta penjelasan mengapa huruf besar P dipilih untuk scp:
Perbarui dan kesampingkan untuk mengatasi salah satu komentar (sangat tervotasikan) :
Berkenaan dengan komentar Abdull tentang
scp
urutan opsi, apa yang ia sarankan:..., menyelingi opsi dan parameter.
getopt(1)
jelas mendefinisikan bahwa parameter harus datang setelah opsi dan tidak diselingi dengan mereka:Karena
-r
opsi baris perintah tidak memerlukan argumen lebih lanjut,some_directory
adalah "parameter non-opsi pertama yang bukan argumen opsi." Oleh karena itu, sebagaimana dijabarkan dengan jelas digetopt(1)
halaman manual, semua argumen baris perintah berikutnya yang mengikutinya (yaitu,-P 80 ...
) diasumsikan sebagai non-opsi (dan argumen non-opsi).Jadi, pada dasarnya, ini adalah bagaimana
getopt(1)
melihat contoh yang disajikan dengan akhir opsi dan awal parameter yang dibatasi oleh teks berhasil bing dalam warna abu-abu:scp -P80 -r
some_directory -P 80 ...
Ini tidak ada hubungannya dengan
scp
perilaku dan segala sesuatu yang berkaitan dengan bagaimana aplikasi standar POSIX mengurai opsi baris perintah menggunakangetopt(3)
set fungsi C.Untuk detail lebih lanjut berkenaan dengan pemesanan dan pemrosesan baris perintah, silakan baca
getopt(1)
manual menggunakan:sumber
scp
menuntut urutan opsi yang benar:scp -r some_directory -P 80 ...
tidak berfungsi ----- tetapiscp -P 80 -r some_directory ...
berfungsi.-P
pemesanan parameter. Pada dasarnya, port harus pergi sebelum tuan rumah. Ini keduanya mencegah ambiguitas dan memungkinkan dua-P
parameter jika kedua host jauh.Satu petunjuk tambahan. Tempatkan opsi '-P' setelah perintah scp, tidak peduli apakah mesin yang Anda ssh-ing adalah yang kedua (alias tujuan). Contoh:
sumber
Anda tahu apa yang lebih keren dari itu
-P
? tidak adaJika Anda menggunakan server ini lebih dari beberapa kali, atur / buat
~/.ssh/config
file dengan entri seperti:atau
Maka Anda dapat menggunakan:
scp [email protected]:/root/file.txt .
atau
scp short:/root/file.txt .
Anda dapat menggunakan apa saja di baris "Host" dengan ssh, scp, rsync, git & lebih
Ada opsi konfigurasi BANYAK yang dapat Anda gunakan dalam file konfigurasi, lihat:
man ssh_config
sumber
scp -3
dari dan ke server dengan pendengar ssh pada port yang berbeda.scp -3 -P 123 server1:/file -P 456 server2:/file
atau alternatif serupa tidak akan berfungsi, scp mengasumsikan port yang sama di kedua serverSaya menggunakan port yang berbeda maka standar dan salin file antara file seperti ini:
Ini hanya untuk penggunaan sesekali, jika itu mengulangi sendiri berdasarkan jadwal Anda harus menggunakan pekerjaan rsync dan cron untuk melakukannya.
sumber
untuk menggunakan port lain pada perintah scp gunakan huruf P seperti ini
ya ali
sumber
scp help memberitahu kita bahwa port ditentukan oleh huruf kapital P.
Semoga ini membantu.
sumber
Menyalin file ke host:
scp SourceFile remoteuser@remotehost:/directory/TargetFile
Menyalin file dari host:
scp user@host:/directory/SourceFile TargetFile
Menyalin direktori secara rekursif dari host:
scp -r user@host:/directory/SourceFolder TargetFolder
CATATAN : Jika host menggunakan port selain port 22, Anda dapat menentukannya dengan opsi -P:
scp -P 2222 user@host:/directory/SourceFile TargetFile
sumber
Ini dapat dicapai dengan menentukan port melalui
-P
sakelar:sumber
jika Anda perlu menyalin file lokal ke server (tentukan port)
sumber
Semoga ini akan membantu seseorang mencari jawaban yang sempurna
Menyalin folder atau file dari server dengan port yang ditentukan ke server lain atau mesin lokal
sumber
Ada banyak jawaban, tetapi Anda harus tetap sederhana. Pastikan Anda tahu port apa yang didengarkan SSH, dan tentukan. Inilah yang baru saja saya gunakan untuk mereplikasi masalah Anda.
scp-P 12222 file.7z [email protected]: / home / user / Downloads Itu bekerja dengan baik.
sumber