OpenSSH เป็นการใช้งานโปรโตคอล SSH (เวอร์ชัน 2) อย่างสมบูรณ์เพื่อการเข้าสู่ระบบระยะไกลที่ปลอดภัย การดำเนินการคำสั่ง และการถ่ายโอนไฟล์ ประกอบด้วยไคลเอนต์ ssh
และเซิร์ฟเวอร์ sshd
ยูทิลิตีการถ่ายโอนไฟล์ scp
และ sftp
รวมถึงเครื่องมือสำหรับการสร้างคีย์ ( ssh-keygen
) พื้นที่จัดเก็บคีย์รันไทม์ ( ssh-agent
) และโปรแกรมที่รองรับจำนวนหนึ่ง
นี่คือพอร์ตของ OpenBSD's OpenSSH ไปยังระบบปฏิบัติการที่คล้ายกับ Unix ส่วนใหญ่ รวมถึง Linux, OS X และ Cygwin OpenSSH แบบพกพา polyfills OpenBSD API ที่ไม่มีให้บริการที่อื่น เพิ่ม sshd sandbox สำหรับระบบปฏิบัติการเพิ่มเติม และรวมถึงการรองรับการตรวจสอบสิทธิ์และการตรวจสอบ OS-native (เช่น การใช้ PAM)
เอกสารอย่างเป็นทางการสำหรับ OpenSSH คือหน้าคู่มือสำหรับแต่ละเครื่องมือ:
ssh(1)
sshd(8)
ssh-keygen(1)
ตัวแทน ssh(1)
เอสซีพี(1)
เอสเอฟพีพี(1)
ssh-keyscan(8)
sftp เซิร์ฟเวอร์(8)
Tarball รุ่นเสถียรมีให้ใช้งานจากมิเรอร์การดาวน์โหลดหลายตัว เราขอแนะนำให้ใช้รุ่นที่เสถียรสำหรับผู้ใช้ส่วนใหญ่ โปรดอ่านบันทึกประจำรุ่นเพื่อดูรายละเอียดการเปลี่ยนแปลงล่าสุดและความเข้ากันไม่ได้ที่อาจเกิดขึ้น
OpenSSH แบบพกพาถูกสร้างขึ้นโดยใช้ autoconf และ make ต้องใช้คอมไพเลอร์ C, ไลบรารีมาตรฐานและส่วนหัวที่ใช้งานได้
libcrypto
จาก LibreSSL หรือ OpenSSL ก็สามารถใช้ได้เช่นกัน OpenSSH อาจถูกสร้างขึ้นโดยไม่มีสิ่งใดสิ่งหนึ่งเหล่านี้ แต่ไบนารีที่ได้ผลลัพธ์จะมีเพียงชุดย่อยของอัลกอริธึมการเข้ารหัสที่ใช้งานได้ตามปกติ
zlib เป็นทางเลือก; หากไม่มีการสนับสนุนการบีบอัดการขนส่ง
การสนับสนุนโทเค็นความปลอดภัย FIDO จำเป็นต้องมี libfido2 และการขึ้นต่อกัน และจะเปิดใช้งานโดยอัตโนมัติหากพบ
นอกจากนี้ บางแพลตฟอร์มและตัวเลือกเวลาในการสร้างอาจต้องมีการขึ้นต่อกันเพิ่มเติม ดู README.platform สำหรับรายละเอียดเกี่ยวกับแพลตฟอร์มของคุณ
tarball ที่วางจำหน่ายและสาขาการวางจำหน่ายใน git มีสำเนาสคริปต์ configure
ที่สร้างไว้ล่วงหน้าและอาจสร้างขึ้นโดยใช้:
tar zxvf openssh-X.YpZ.tar.gz cd openssh ./configure # [options] make && make tests
ดูส่วนการปรับแต่งเวลาสร้างด้านล่างสำหรับตัวเลือกการกำหนดค่า หากคุณวางแผนที่จะติดตั้ง OpenSSH ในระบบของคุณ โดยปกติคุณจะต้องระบุเส้นทางปลายทาง
หากสร้างจากสาขา git master คุณจะต้องติดตั้ง autoconf เพื่อสร้างสคริปต์ configure
คำสั่งต่อไปนี้จะตรวจสอบและสร้าง OpenSSH แบบพกพาจาก git:
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git cd openssh-portable autoreconf ./configure make && make tests
มีตัวเลือกการปรับแต่งเวลาในการสร้างมากมายให้เลือก รองรับการตั้งค่าสถานะเส้นทางปลายทาง Autoconf ทั้งหมด (เช่น --prefix
) (และโดยทั่วไปจำเป็นหากคุณต้องการติดตั้ง OpenSSH)
หากต้องการดูรายการแฟล็กทั้งหมดที่มี ให้รัน ./configure --help
แต่แฟล็กที่ใช้บ่อยบางส่วนจะอธิบายไว้ด้านล่าง แฟล็กเหล่านี้บางส่วนจะต้องมีการติดตั้งไลบรารีและ/หรือส่วนหัวเพิ่มเติม
ธง | ความหมาย |
---|---|
--with-pam | เปิดใช้งานการสนับสนุน PAM รองรับ OpenPAM, Linux PAM และ Solaris PAM |
--with-libedit | เปิดใช้งานการสนับสนุน libedit สำหรับ sftp |
--with-kerberos5 | เปิดใช้งานการสนับสนุน Kerberos/GSSAPI รองรับการใช้งานทั้ง Heimdal และ MIT Kerberos |
--with-selinux | เปิดใช้งานการสนับสนุน SELinux |
มีการพูดคุยถึงการพัฒนา Portable OpenSSH ในรายชื่อผู้รับจดหมาย openssh-unix-dev (มิเรอร์เก็บถาวร) ข้อบกพร่องและคำขอคุณสมบัติได้รับการติดตามใน Bugzilla ของเรา
ข้อบกพร่อง ที่ไม่เกี่ยวกับความปลอดภัย อาจถูกรายงานไปยังนักพัฒนาผ่านทาง Bugzilla หรือทางรายชื่อผู้รับจดหมายด้านบน ควรรายงานข้อบกพร่องด้านความปลอดภัยไปที่ [email protected]