scp ไม่ฉลาดมาก: เมื่อกำหนดอาร์กิวเมนต์บรรทัดคำสั่งหลายไฟล์ซึ่งเป็นไฟล์จากรีโมตโฮสต์เดียวกันจะเป็นการเปิดการเชื่อมต่อใหม่สำหรับแต่ละอาร์กิวเมนต์
คุณสามารถใช้rsyncแทนscpวิธีนี้ได้อย่างชาญฉลาดกว่า (และวิธีอื่น ๆ )
rsync -r -e 'ssh -P PORT' user@host:/home/user/something/{file1,folder1,folder2,folder3,folder4} folder/folder2/
อีกวิธีหนึ่งคือการส่งผ่านอาร์กิวเมนต์เดียวเพื่อscpที่อธิบายหลายไฟล์
แนวทางที่แตกต่างคือการตั้งค่าระบบของคุณเพื่อให้คุณไม่ต้องตรวจสอบสิทธิ์ตลอดเวลา ควรตั้งค่าการรับรองความถูกต้องของคีย์ซึ่งเป็นสถานการณ์ส่วนใหญ่ที่สะดวกและปลอดภัยยิ่งขึ้น หรือนอกจากนี้ให้ตั้งค่าการแชร์การเชื่อมต่อเพื่อให้คุณต้องตรวจสอบสิทธิ์หนึ่งครั้งต่อเซสชัน ไม่ว่าในกรณีใดก็ตามให้ตั้งค่านามแฝงเพื่อให้คุณไม่ต้องระบุชื่อผู้ใช้และพอร์ตทุกครั้ง ใน~/.ssh/config:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Host nick
HostName real-host-name.example.com
User bob
Port 1234
เรียกใช้ssh -Nf nickเพื่อเปิดการเชื่อมต่อจากนั้นการเชื่อมต่อที่ตามมาทั้งหมดnickจะ piggyback ในการเชื่อมต่อที่มีอยู่ ตอนนี้คุณสามารถวิ่งได้แล้ว
scp -r nick:/home/user/something/{file1,folder1,folder2,folder3,folder4} folder/folder2/