ฉันรู้ว่ามีคำถามมากมายที่นี่เกี่ยวกับวิธีเชื่อมต่อเซิร์ฟเวอร์ SSH โดยไม่ต้องพิมพ์รหัสผ่านของคุณทุกครั้งและคำตอบคือ "ใช้รหัสสาธารณะเสมอ" ฉันพบว่าตัวเองอยู่ในสถานการณ์ที่หายากซึ่งนั่นไม่ใช่ตัวเลือก ด้วยเหตุผลที่อธิบายไม่ได้บางอย่าง OpenSSH daemon บนเซิร์ฟเวอร์ที่ฉันพยายามเชื่อมต่อจะได้รับการกำหนดค่าด้วย
RSAAuthentication no
PubkeyAuthentication no
ใน/etc/ssh/sshd_config
. ฉันไม่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบบนเซิร์ฟเวอร์ดังนั้นฉันจึงไม่สามารถเปลี่ยนตัวเลือกการกำหนดค่าเซิร์ฟเวอร์เหล่านี้หรือตัวเลือกอื่น ๆ ได้ (แน่นอนว่าฉันสามารถควบคุมการกำหนดค่าไคลเอนต์ได้อย่างสมบูรณ์: OpenSSH 5.8 บน Linux)
ตัวเลือกของฉันคืออะไรและโดยเฉพาะอย่างยิ่งตัวเลือกที่ปลอดภัยที่สุดคืออะไรเพื่อหลีกเลี่ยงการพิมพ์รหัสผ่านทุกครั้งที่ฉันต้องการ SSH ลงในเซิร์ฟเวอร์นี้ ฉันรักษาความปลอดภัยของคอมพิวเตอร์ของตัวเองค่อนข้างดีดังนั้นเราจะถือว่าความเสี่ยงด้านความปลอดภัยในการจัดเก็บรหัสผ่านในไฟล์บนไคลเอนต์นั้นต่ำพอสมควรหากจำเป็นจริงๆ
วิธีการรับรองความถูกต้องอื่น ๆ ที่เซิร์ฟเวอร์สามารถยอมรับได้ก็คือ GSS API (ซึ่งฉันไม่รู้อะไรเลย), แป้นพิมพ์แบบโต้ตอบ (ซึ่งฉันไม่รู้ด้วย) และรหัสผ่าน ตัวเลือกการกำหนดค่าที่เกี่ยวข้องมีดังนี้:
#ChallengeResponseAuthentication yes
#KerberosAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
#UsePAM no
และนี่คือการ-vv
ติดตามdebug ( ):
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
/etc/krb5.keytab
/etc/krb5/krb5.keytab
ฉันไม่สามารถเข้าถึงเนื้อหา ชื่อเซิร์ฟเวอร์คือsftp.pass.psu.edu
(ฉันไม่คิดว่ามีอันตรายใด ๆ ในการให้ชื่อออก) ถ้ามันช่วยให้คุณอธิบายขั้นตอน
/etc/krb5.keytab
หรือไม่ GSSAPI (Kerberos) สามารถตั้งค่าฝั่งไคลเอ็นต์ได้ง่าย ฉันต้องขอชื่อโฮสต์ของเซิร์ฟเวอร์ (นอกจากนี้ยังkeyboard-interactive
คล้ายกันมากpassword
ยกเว้นไม่ จำกัด เพียงพรอมต์ "รหัสผ่าน:")