Burada hakkında onlarca soru olduğunu biliyorum. her seferinde şifrenizi yazmadan bir SSH sunucusuna nasıl bağlanılır ve cevap her zaman "ortak bir anahtar kullanın." Eh, kendimi bunun gerçekten bir seçenek olmadığı nadir durumlarda buluyorum. Bazı açıklanamayan nedenlerden dolayı, bağlanmaya çalıştığım sunucudaki OpenSSH arka plan programı,
RSAAuthentication no
PubkeyAuthentication no
içinde /etc/ssh/sshd_config
. Sunucuda yönetici erişimim yok, bu yüzden bunları veya diğer sunucu yapılandırma seçeneklerini değiştiremiyorum. (Elbette, istemci yapılandırması üzerinde tam kontrolüm var: OpenSSH 5.8 Linux'ta.)
Seçeneklerim nelerdir ve özellikle de bu sunucuya SSH yazmak istediğimde şifremi yazmak zorunda kalmamak için en güvenli seçenek hangisidir? Kendi bilgisayarlarımı oldukça iyi güvende tutuyorum, bu yüzden gerçekten gerekliyse, şifreyi istemcideki bir dosyada saklamanın güvenlik risklerinin kabul edilebilir derecede düşük olduğunu varsayalım.
Sunucunun kabul edebileceği diğer kimlik doğrulama yöntemleri açıkça GSS API (hakkında hiçbir şey bilmediğim), etkileşimli klavye (ayrıca hakkında hiçbir şey bilmediğim) ve şifredir. İşte bazı ilgili yapılandırma seçenekleri:
#ChallengeResponseAuthentication yes
#KerberosAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
#UsePAM no
ve burada bir hata ayıklama ( -vv
) izleme:
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
, ama var /etc/krb5/krb5.keytab
. İçeriğe erişimim yok. Sunucu ismi sftp.pass.psu.edu
(Bu isim verme konusunda herhangi bir zararı olduğunu sanmıyorum) prosedürü açıklamanıza yardımcı olursa.
/etc/krb5.keytab
? GSSAPI (Kerberos) istemci tarafı ayarlamak için basit olabilir; Yine de sunucunun ana bilgisayar adını sormam gerekiyordu. (Ayrıca:keyboard-interactive
çok benzerpassword
, bir "Şifre:" istemi ile sınırlı olmamak kaydıyla.)