ทางเลือก Filezilla หรือ WinSCP สำหรับ Ubuntu


12

ใน Windows ฉันใช้ FileZilla เพื่ออัปโหลด / ดาวน์โหลดไฟล์บนเว็บไซต์ WordPress ของฉันผ่าน sftp ในขณะที่ใช้คีย์ ssh

ตอนนี้ Linux เป็นระบบปฏิบัติการหลักของฉัน สำหรับเดือนที่แล้วไคลเอนต์ FileZilla ทำงานได้ดีบน Ubuntu 16.04 แต่ตอนนี้มันล้มเหลวทุกครั้งที่ฉันเริ่ม ฉันค้นหาบนอินเทอร์เน็ตและพบว่ามันเกิดขึ้นกับผู้ใช้จำนวนมาก น่าเสียดายที่การสนับสนุน FileZilla มีคำตอบเดียวถ้าเราถามพวกเขา:

Ubuntu 16.04 เป็นระบบปฏิบัติการรุ่นเก่าใช้รุ่น 17.10 หรือรุ่น Debian ล่าสุด

ฉันไม่ต้องการใช้ 17.10 ดังนั้นฉันกำลังมองหาทางเลือกไคลเอนต์ FileZilla สำหรับ Linux ซึ่งฉันสามารถใช้เป็นไคลเอนต์ sftp ด้วยคีย์ ssh

ฉันพบ gFTP (ซึ่งเป็นโปรแกรมเก่าและไม่แน่ใจว่ามันปลอดภัยหรือไม่) ฉันยังพบว่าฉันสามารถใช้ตัวจัดการไฟล์ Ubuntu เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของฉัน เป็นความคิดที่ดีที่จะเชื่อมต่อกับเซิร์ฟเวอร์ในขณะที่ใช้ Nautilus หรือ Caja หรือไม่?

จริงๆแล้วฉันไม่ต้องการใส่ชื่อผู้ใช้ / รหัสผ่านในกล่องโต้ตอบซึ่งปรากฏขึ้นเมื่อฉันคลิกไฟล์> เชื่อมต่อกับเซิร์ฟเวอร์แทนฉันต้องการใช้.ppkรหัสของฉัน ฉันจะเพิ่มสิ่งนั้นใน Nautilus หรือ Caja ได้อย่างไร


ฉันแค่ต้องการล้างคำถามของฉันเพิ่มเติม จริงๆแล้วฉันไม่ต้องการใส่ชื่อผู้ใช้ / รหัสผ่านในกล่องโต้ตอบซึ่งปรากฏขึ้นเมื่อฉันคลิกไฟล์> เชื่อมต่อกับเซิร์ฟเวอร์แทนฉันต้องการใช้คีย์. pkk ฉันจะเพิ่มสิ่งนั้นใน Nautilus หรือ Caja ได้อย่างไร
ShahMoeen

1
เกิดอะไรขึ้นกับเวอร์ชันใน repo ที่ 16.04
RonJohn

2
มันเป็น Ubuntu แทนที่จะเป็น Filezilla devs ที่ยังคงรักษาสาขาของ Filezilla ไว้ที่ 16.04 ดังนั้นจึงเป็นเรื่องธรรมดาที่ Filezilla devs จะบอกให้คุณอัพเกรดเพราะพวกเขาไม่รับผิดชอบต่อการทำงานของ Ubuntu 16.04 ลองเปิด Filezilla จากหน้าต่างเทอร์มินัลดังนั้นหากเกิดปัญหาคุณอาจได้รับข้อความแสดงข้อผิดพลาดหรือติดตามในคอนโซลจากนั้นเปรียบเทียบกับรายงานข้อบกพร่องที่มีอยู่ใน Filezillaและถ้าใหม่ให้สร้างรายงานใหม่
thomasrutter

2
มันยอดเยี่ยมที่วิธีการที่ Ubuntu สะดวกเบรครุ่นเก่าบังคับให้ ppl อัพเกรด แต่นั่นคือสิ่งที่คุณได้รับจากการมีเลือดออก / ไม่แน่นอนคุณจะได้หัวกระแทกกับไม้เบสบอลทุก ๆ 6 เดือน .. ; ลองดาวน์เกรด filezila
user688056

1
ดูเพิ่มเติม: askubuntu.com/questions/94665/...และaskubuntu.com/questions/109000/nicer-ftp-client-than-filezilla
Ilmari Karonen

คำตอบ:


14

ใช้ Nautilus

คุณสามารถใช้ตัวเลือกConnect to Serverใน Nautilus ตามที่แสดงในภาพถัดไป

ป้อนคำอธิบายรูปภาพที่นี่

  • หากคุณต้องการหาเส้นทางบรรทัดคำสั่งในการติดตั้งใช้งานไดเรกทอรีหนึ่งในวิธีการที่นำเสนอที่นี่: เส้นทาง CLI การเชื่อมต่อเครือข่าย
  1. ตัวอย่างแรก - sftp://victoria-pass/home/tri- การใช้งานที่กำหนดไว้ล่วงหน้าโฮสต์เรียกvictoria-passและม้าไดเรกทอรีของผู้ใช้ระยะไกลที่เรียกว่าhome/tri

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

    Host victoria-pass             # this is as 'nickname' of the connection
        HostName victoria.org      # or use the IP address
        IdentityFile ~/.ssh/id_rsa # or provide the fill path to another key
        User tri                   # use the actual name of the remote user
        Port 1111                  # provide the actual port of the remote server
        # other parameters...
    
    # setup each another Host in the same way...        

    เปลี่ยนการอนุญาตของไฟล์:

    chmod 600 ~/.ssh/config
    

    นอกจากนี้ในตอนนี้คุณควรสามารถเชื่อมต่อกับโฮสต์เหล่านี้แต่ละตัวด้วยคำสั่งดังนี้

    ssh victoria-pass
    
  2. ตัวอย่างที่สอง - sftp://tri@victoria.org:1111/home/tri- แสดงวิธีเชื่อมต่อกับเซิร์ฟเวอร์ ssh (sftp) ระยะไกลโดยไม่ต้องใช้~/.ssh/configไฟล์ที่กำหนดไว้ล่วงหน้าด้วยพอร์ต ssh ที่กำหนดเอง

    ข้อเสียที่สำคัญของวิธีนี้ก็คือว่าถ้าไฟล์รับรองความถูกต้องไม่ได้คุณควรจะให้มันล่วงหน้าโดยคำสั่ง~/.ssh/id_rsa ssh-addตัวอย่างเช่นถ้าไฟล์การรับรองความถูกต้องเรียกว่าfile.pem:

    ssh-add /full/path/to/the/authentication/file.pem 
    

    ฉันคิดว่าคุณควรทำเช่นนี้ทุกครั้งเมื่อคุณรีสตาร์ทเครื่องท้องถิ่นหรือคุณควรรวมคำสั่งดังกล่าวใน~/.profileไฟล์


Usung gFTP

นี่คือขั้นตอนวิธีการตั้งค่า gFTP เพื่อใช้คีย์ SSH

ป้อนคำอธิบายรูปภาพที่นี่

  1. ในเมนู FTPคลิกที่การตั้งค่า ;

  2. ไปที่แท็บ SSH ;

  3. กรอกข้อมูลSSH Extra Paramsด้วยค่านี้:

    -o IdentityFile=/home/<your user>/.ssh/id_rsa
    

    เปลี่ยน<user name>ด้วยชื่อผู้ใช้จริง หรือใช้:

    -o IdentityFile=~/.ssh/id_rsa
    
  4. ในหน้าต่างหลักของ gFTP เลือกSSH2เป็นประเภทของการเชื่อมต่อ;

  5. ป้อนชื่อโฮสต์เป้าหมายหรือที่อยู่IP

  6. ติดตั้งพอร์ต SSH ของเครื่องเป้าหมาย (หากไม่ใช่ค่าเริ่มต้น - 22);

  7. ป้อนผู้ใช้สำหรับการเชื่อมต่อ SSH

  8. ป้อนวลีรหัสผ่านของคีย์ SSH ของคุณ(ถ้ามี)

  9. Enterhit


ใช้ SSHFS

คุณสามารถติดไดเรกทอรีระยะไกล (หรือระบบไฟล์ทั้งหมด) sshfsผ่านเครื่องมือบรรทัดคำสั่ง จากนั้นคุณสามารถจัดการมัน "ในประเทศ" ตามที่คุณต้องการ นี่เป็นวิธีที่ดีกว่าของฉัน สมมติว่าไดเร็กทอรีการเมาต์คือ~/mountและคุณต้องการเมานต์โฮมไดเร็กทอรีของผู้ใช้รีโมต:

sshfs user@host.name.or.ip:/home/<user> /home/<local-user>/mount/

หรือถ้าคุณสร้าง~/.ssh/configไฟล์:

sshfs host-name:/home/<remote-user> /home/<local-user>/mount/

นอกจากนี้คุณสามารถสร้าง/etc/fstabรายการด้วย - การอ้างอิง:


แปลง PPK Key

โปรดทราบว่าก่อนหน้านี้คุณเคยใช้คีย์PPKซึ่งหมายความว่าPuTTY Private Keyคุณควรแปลงเพราะไม่เหมือน CloneZilla เครื่องมือด้านบนไม่สามารถอ่านรูปแบบนี้ได้ เพื่อจุดประสงค์นี้คุณควรใช้เครื่องมือputtygenที่เป็นส่วนหนึ่งของแพ็คเกจputty-tools:

sudo apt install putty-tools

ตอนนี้คุณสามารถแปลงคีย์ด้วยวิธีนี้:

puttygen input-key-filename.ppk -O private-openssh -o output-key-filename.pem

ขอบคุณ@steeldriverสำหรับบันทึกนี้ นี่คือแหล่งที่มาและการอ้างอิงเพิ่มเติมไม่กี่:


ตามความปลอดภัย

ในขณะที่วิธีการทั้งหมดใช้วิธีการเชื่อมต่อเดียวกัน - SSH - ความปลอดภัยที่พวกเขาให้ควรเท่าเทียมกัน จากวิกิพีเดีย :

Secure Shell (SSH) เป็นโปรโตคอลเครือข่ายเข้ารหัสลับสำหรับการดำเนินงานบริการเครือข่ายอย่างปลอดภัยผ่านเครือข่ายที่ไม่ปลอดภัย ... SSH ให้ช่องทางที่ปลอดภัยผ่านเครือข่ายที่ไม่ปลอดภัยในสถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์เชื่อมต่อแอปพลิเคชันไคลเอนต์ SSH กับเซิร์ฟเวอร์ SSH ...

การเข้ารหัสที่ใช้โดย SSH นั้นมีจุดประสงค์เพื่อให้การรักษาความลับและความถูกต้องของข้อมูลผ่านเครือข่ายที่ไม่ปลอดภัยเช่นอินเทอร์เน็ต ... SSH ใช้การเข้ารหัสลับสาธารณะเพื่อรับรองความถูกต้องของคอมพิวเตอร์ระยะไกลและอนุญาตให้รับรองความถูกต้องของผู้ใช้

วิธีหนึ่งคือการใช้คู่คีย์สาธารณะส่วนตัวที่สร้างขึ้นโดยอัตโนมัติเพื่อเข้ารหัสการเชื่อมต่อเครือข่ายจากนั้นใช้การตรวจสอบสิทธิ์รหัสผ่านเพื่อเข้าสู่ ...

อีกประการหนึ่งคือการใช้คู่คีย์สาธารณะส่วนตัวที่สร้างขึ้นด้วยตนเองเพื่อทำการตรวจสอบความถูกต้องอนุญาตให้ผู้ใช้หรือโปรแกรมเข้าสู่ระบบโดยไม่ต้องระบุรหัสผ่าน ในสถานการณ์นี้ทุกคนสามารถสร้างคู่ที่ตรงกันของคีย์ที่แตกต่างกัน (สาธารณะและส่วนตัว) ...


ขอบคุณสำหรับการตอบกลับของคุณ. จริง ๆ แล้วฉันไม่ต้องการใส่ชื่อผู้ใช้ / รหัสผ่านในกล่องโต้ตอบซึ่งปรากฏขึ้นเมื่อฉันคลิกไฟล์> เชื่อมต่อกับเซิร์ฟเวอร์แทนฉันต้องการใช้คีย์. pkk ฉันจะเพิ่มสิ่งนั้นใน Nautilus หรือ Caja ได้อย่างไร
ShahMoeen

@ShahMoeen ฉันทำเสร็จแล้ว
pa4080

2
@ShahMoeen โปรดดูวิธีการแปลง Filezilla PPK คีย์เข้ากันได้ อีกวิธีหนึ่งถ้าคุณยังสามารถเข้าถึง Windows, วิธีแปลง. ppt ของ PuTTY ให้เป็นคีย์ SSH
steeldriver

ขอขอบคุณ @ pa4080 สำหรับการตอบกลับและรายละเอียดของคุณ ฉันทำทุกขั้นตอนที่คุณถามด้วย gFTP แต่น่าเสียดายที่มันไม่ทำงาน บนหน้าจอหลักของ gFTP หลังจากป้อนโฮสต์ Port และผู้ใช้รายละเอียดเมื่อฉันกด Enter มันเริ่มต้นการเชื่อมต่อ แต่นี้ไม่จบอยู่ด้านล่างฉันสามารถดูได้หยุดที่ "พิธีสารการเริ่มต้น"
ShahMoeen

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