ใช้ SCP หรือ SFTP กับไฟล์ config ของฉัน


44

บางที google-foo ของฉันทำให้ฉันล้มเหลวที่นี่ ... ฉันต้องการเชื่อมต่อและอัปโหลดไฟล์การถ่ายโอนข้อมูล mysql ผ่านเทอร์มินัลโดยใช้ SFTP หรือ SCP ไปยังเซิร์ฟเวอร์ระยะไกลของฉันโดยใช้ไฟล์การกำหนดค่า ssh ของฉัน จากเอกสารที่ฉันพบฉันควรทำสิ่งนี้:

sftp -F db.sql.gz webost@staging2.example.com /tmp

ฉันยังเบื่อนามแฝงในการกำหนดค่าของฉัน:

sftp -F db.sql.gz myalias /tmp

เมื่อฉันทำตามสองข้อข้างต้นฉันก็แค่พิมพ์คำสั่งที่เป็นไปได้ให้-Fเป็นหนึ่งในนั้น

ฉันสามารถเชื่อมต่อผ่าน ssh โดยใช้ทางลัดในการตั้งค่าในเครื่องของฉันได้ดีฉันจึงรู้ว่าใช้งานได้:

ssh myalias

** หมายเหตุ: ฉันกำลังเชื่อมต่อโดยใช้คู่คีย์ส่วนตัว / สาธารณะดังนั้นฉันไม่จำเป็นต้องป้อนรหัสผ่าน คู่กุญแจนั้นมีวลีรหัสผ่านที่เกี่ยวข้อง แต่พวงกุญแจ OS X จำได้ว่าครั้งแรกที่ฉันเชื่อมต่อ

... ดังนั้นฉันไม่แน่ใจว่าสิ่งที่ฉันทำผิด

คำตอบ:


46
  1. จากข้อความช่วยเหลือ: " ... [-F ssh_config] ..."

    ตามที่กล่าวไว้ข้างต้น-Fคาดว่าจะมีหนึ่งอาร์กิวเมนต์: พา ธ ไปยังไฟล์กำหนดค่า OpenSSH ~/.ssh/configหรือคล้ายกัน แต่คุณกำลังให้ดัมพ์ SQL gzipped แทน

    เนื่องจากธรรมดาssh myaliasทำงานแล้วคุณไม่จำเป็นต้องมี-Fตัวเลือกที่นี่ เพียงแค่sftp myaliasจะเชื่อมต่อกับเซิร์ฟเวอร์

  2. อย่างไรก็ตามsftpไคลเอนต์OpenSSH ไม่รองรับการอัปโหลดไฟล์เหมือนที่คุณพยายาม; มันสามารถดาวน์โหลดไฟล์ (ใช้ไวยากรณ์host:path) หรือทำงานในโหมดการโต้ตอบ สำหรับการอัปโหลดคุณต้องใช้ทั้งโหมดการโต้ตอบ ...

    $ sftp myalias
    sftp> cd /tmp
    sftp> put db.sql.gz
    

    ... หรือscpเครื่องมือ:

    scp db.sql.gz myalias:/tmp
    

    หรือ

    scp db.sql.gz webost@staging2.example.com:/tmp
    

(sftp มีโหมดแบตช์ซึ่งสามารถอ่านคำสั่งจากไฟล์โดยใช้-bแต่จะง่ายกว่าscpสำหรับการอัปโหลดครั้งเดียว)

มีไคลเอนต์ SFTP อื่น ๆ เช่นกัน - lftpดีสำหรับการใช้งานแบบโต้ตอบในขณะที่ขดได้ง่ายขึ้นโดยอัตโนมัติ สำหรับการสำรองข้อมูลและเช่นนั้นคุณสามารถใช้rsync (ซึ่งเรียกใช้โปรโตคอลของตัวเอง แต่ยังอยู่ใน SSH)


ว้าวนี่มันสมบูรณ์แบบใช้งานได้ดี! ฉันเพิ่งคุ้นเคยกับเทอร์มินัลดังนั้นสิ่งนี้จะมีประโยชน์ในอนาคต
Danny Englander

0

ปัญหาที่เกิดจากการกำหนดค่า ForwardAgent ดังต่อไปนี้

Host dockervm
   HostName x.x.x.x
   User root
   Preferredauthentications publickey
   ForwardAgent yes

กรณีของฉันเป็นเพราะ 'ForwardAgent' ในการกำหนดค่า ssh ทำให้ scp ค้าง เมื่อแสดงความคิดเห็นออกมาทำงานให้ฉัน

นอกจากนี้คุณสามารถมีสำเนาของไฟล์ที่มีบรรทัด ForwardAgent แสดงความคิดเห็นและใช้ scp -F เพื่อให้มันทำงาน

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