คัดลอกด้วย ssh ด้วยพอร์ตอื่นที่ไม่ใช่ 22


18

ฉันจะคัดลอกไฟล์จากท้องถิ่นของฉันไปยังเซิร์ฟเวอร์ระยะไกลที่โฮสต์ ssh บนพอร์ตอื่นที่ไม่ใช่ค่าเริ่มต้น (22) ได้อย่างไร

ฉันมักจะเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้

ssh username@remotehost.com -p 2000

ตอนนี้ฉันต้องการคัดลอกไฟล์ด้วย scp

user @ localbox: ~ $ scp ~ / .ssh / id_rsa.pub user@remotebox.remotedomain.tld: ~ / .ssh / id_rsa_localbox.pub -p 2000

แต่มันไม่ทำงาน


sshfsเป็นตัวเลือก :)

คำตอบ:


42

scp --helpหรือจะได้บอกคุณเลือกได้man scp -P portคุณต้องประกาศสิ่งนี้ก่อนอาร์กิวเมนต์ไฟล์:

scp -P 2000 -i ~/.ssh/id_rsa.pub user@remotebox.remotedomain.tld:~/.ssh/id_rsa_localbox.pub

ฉันจะไม่เชื่อใจ~ลิงก์ที่เกี่ยวข้อง ใช้เส้นทางแบบเต็มหากคุณสามารถ

แต่ถ้าคุณกำลังคัดลอก ID ssh-copy-idก็มีตัวเลือกให้ตัวเลือกการเชื่อมต่อ SSH:

ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 2000 user@remotebox.remotedomain.tld'

//, มีวิธีในการค้นหาหน้าคนสำหรับสิ่งเช่นนี้หรือไม่?
Nathan Basanese

2

ใช้เงินทุน P

(อยู่ในหน้าคน ... )


2

คุณสามารถสร้างไฟล์~ / .ssh / configและใส่ข้อมูลที่เกี่ยวข้องสำหรับรีโมตโฮสต์ได้:

Host remotehost.com
Port 2000
User username

ดูหน้าคนสำหรับssh_config

สิ่งนี้ทำให้คุณสามารถเรียกใช้ ssh เป็น:

ssh remotehost.com

และ SCP เป็น:

scp important_file remotehost.com:
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.