Kendi hesabımı şifre ile uzaktan ssh girişinden nasıl kilitleyebilirim?


10

Parolayla uzaktan oturum açmayı tamamen devre dışı bırakmak istemiyorum, ancak hesabımın yalnızca anahtar çifti kimlik doğrulamasıyla erişilebilir olmasını sağlamak istiyorum (oturum açmak için parola kullanmak isteyen diğer kullanıcılar var). Bunu kullanıcı başına, ideal olarak sistem ayarlarını değiştirmeden değiştirmek mümkün müdür?

Açıklamak gerekirse, hesabımın sudo erişimi var, bu yüzden şifreyi kilitlemek istemiyorum.

Yanıtlar:


9

İçindeki Eşle seçeneğini kullanabilirsiniz. sshd_config

Eşleme Koşullu bir blok sunar. Eşleşme satırındaki ölçütlerin tümü karşılanırsa, aşağıdaki satırlardaki anahtar kelimeler, başka bir Eşleşme satırı veya dosyanın sonuna kadar yapılandırma dosyasının genel bölümünde ayarlanan anahtar kelimeleri geçersiz kılar. [1]

Bu dosyanın sonunda şunları belirtebilirsiniz:

Match User yourusername
PasswordAuthentication no

man 5 sshd_configMevcut tüm seçenekler için bakınız .

[1] http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5


Bu zaten iyi, ama sshd_config düzenlemeden yapabilecek miyim görmek istiyorum.
phunehehe

2
. Eğer bir sistem değişikliği yapmak isteyen Verilen yani bir değil diğer kullanıcılara etkileyebilir, bu ... olası gibi görünüyor
jasonwryan

ve ~ / .ssh / config hakkında ne dersiniz? Ayarları oraya eklemeyi denediniz mi?
ttyS0

1
Sunucu için değil, istemci için AFAK ~ / .ssh / config girişi.
Adam Byrtek

1

Jasonwryan gelen cevap bu değişikliği yapmak için doğru yol olacak. Yapabileceğim tek eklenti, eşleşmeyi grup tabanlı olarak ayarlayabilmenizdir, böylece tekerlek grubundaki herhangi bir kullanıcının anahtar kimlik doğrulamasını kullanması gerekirken diğerleri parola kullanabilir.

Bunu sistem yapılandırma dosyalarını değiştirmeden yapmak istediğinizi biliyorum, ancak bunun mümkün olmayacağının iyi bir nedeni var. Kafanızda, kullanıcının daha güvenli bir giriş politikası oluşturabilmesi mantıklıdır, ancak zihninizde daha güvenli bir seçenek olduğu için, bunun hala sistem giriş gereksinimlerinde bir değişiklik olduğu gerçeğini değiştirmez. uzak kullanıcı.

Bunun neden bir sorun olduğunu anlamak için, senaryoyu başka bir şekilde düşünün. Sistem yöneticisi (sistem yapılandırma dosyalarını değiştirebilen) sistemi yalnızca anahtar tabanlı oturum açmaya ayarlar. Daha sonra, bazı kullanıcılar gelir ve yalnızca kendi kullanıcı dosyalarına erişir ve hesaplarını parola kimlik doğrulamasına izin verecek şekilde ayarlar ve sistem ilkesini geçersiz kılar. BEEEEEEP . Güvenlik sorunu!

Bu, yapmak istediğiniz değişiklik türünün neden yalnızca sistem yapılandırma dosyasından mümkün olduğunu açıklıyor mu?


Bu şekilde düşünmek zordur, çünkü sudo kullanmayan normal bir kullanıcı olsaydım, anahtarlarımı mutlu bir şekilde ayarlayabilir, ardından şifreyi kilitleyebilirim, böylece hesabımı "sadece anahtar kimlik doğrulaması" yapabilirim.
phunehehe

Başka bir düşüncede, oturumu kapatmak üzereyken şifremi kilitleyebilirim, bu da hesabım için tüm şifre girişine izin vermemelidir. Sonra anahtarlarımla giriş yaptıktan sonra şifreyi tekrar sudo'ya etkinleştirebilirim. Açıkçası bu iyi bir çözüm değil, ama bunun mümkün olduğunu düşündürüyor.
phunehehe

1
Bunu yalnızca sistem yöneticisi anahtar kimlik doğrulamasına izin verdiği ve hiçbir şeyi değiştirmeden yalnızca kendiniz için kısıtlamalar eklediğiniz için yapabilirsiniz. Parolanızı devre dışı bırakmak yalnızca geçersiz bir değere ayarlar, sistem arka plan programının izin verdiği kimlik doğrulamasını değiştirmez.
Caleb

"Kendiniz için kısıtlamalar eklemek, hiçbir şeyi değiştirmemek" tam olarak yapmak istediğim şey.
phunehehe

@Caleb: izin vermenin hiçbir güvenlik sorunu olmazdı authorized_keyskoymak için daha phunehehe istediği gibi kısıtlamalar. Örneğin authorized_keys, belirli tuşları belirli komutlarla sınırlandırabilir.
Gilles 'SO- kötü olmayı bırak'

0

Kendiniz için kısıtlamalar eklemek, hiçbir şeyi değiştirmemek

Neden ssh'nin giriş denemelerinde kullanılacak istemci olacağından eminseniz istemci tarafında olmasın? Evetse, sshd_config yerine ssh_config üzerinde değişiklik yapmayı deneyin. 'PasswordAuthentication No' ve PreferredAuthentications parametresini kontrol edin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.