Parola olmadan ancak SSH ve ortak anahtarla bir kullanıcı ekleyin


33

Red Hat Linux'a giriş yapmak için bir şifre kullanmayacak, bunun yerine ssh için genel bir anahtar kullanacak bir kullanıcı eklemek istiyorum. Bu komut satırında olurdu.


useradd --password-disable ve adduser --password devre dışı bırak. Her ikisinin de seçeneklerine baktım ve şifrenin ikisinin de seçeneği olarak devre dışı bırakıldığını görmüyorum.
user119776

Genel olarak bir ssh anahtar girişinin nasıl ayarlanacağını biliyor musunuz? Hesabın sadece kilitlenmemesi gerektiğini düşünüyorum, bu da aktif bir şifre olduğu anlamına gelir. Kimsenin bilmediği uzun bir şifre olabilir.
Micah Yoder

Anahtarım var ve kullanıcının dizini altında bir klasör yaratmam ve oraya ortak kısmı yapıştırmam gerektiğini biliyorum. Bu şekilde deneyebilirim, ancak kullanıcı şifresini de devre dışı bırakmam gerektiğini düşündüm.
user119776

Size nasıl bir kullanıcı ekleyeceğinizi gösteren başka bir yazı yapmak yerine, Lambert ile aynı fikirdeyim. Özellikle bu problemle karşılaştığınız görev alanına odaklanmanız gerekir. Nasıl bir kullanıcı ekleyeceğinizi bile bilmiyorsanız, küçük başlamalı ve yukarı doğru çalışmalısınız. Yalnızca kullanıcı oluşturmanız, hiçbir şifre belirlemeniz ve /home/username/.ssh/authorized_keys anahtarını girmeniz gerektiğine inanıyorum.
Baazigar

Yanıtlar:


37

Bir kullanıcı oluşturmaya başlayın:

useradd -m -d /home/username -s /bin/bash username

Kullanacağınız istemciden bir anahtar çifti oluşturun ssh:

ssh-keygen -t dsa

Genel anahtarı /home/username/.ssh/id_dsa.pubRedHat ana bilgisayarına kopyalayın./home/username/.ssh/authorized_keys

RedHat ana bilgisayarındaki dosyalara doğru izinleri ayarlayın:

chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

RedHat ana bilgisayarında Genel Anahtar kimlik doğrulamasının etkin olduğundan emin olun:

grep  PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes

Değilse, bu yönergeyi evet olarak değiştirin sshdve RedHat sunucusundaki hizmeti yeniden başlatın .

İstemciden bir sshbağlantı başlat :

ssh username@redhathost

Otomatik olarak anahtar için görünmelidir id_dsaiçinde ~/.ssh/. Aşağıdakileri kullanarak bir kimlik dosyası da belirleyebilirsiniz:

ssh -i ~/.ssh/id_dsa username@redhathost

3
Aslında şifre kilidini unutmadım. Ayarlamadığım için yeni oluşturulan kullanıcının şifresi otomatik olarak kilitlenir.
Lambert

3
yerine DSA kullanımı RSA
SG

"ssh-keygen -t dsa" komutunun geçerli kullanıcı için anahtarlar yaratacağını fark edersiniz, kendi anahtarlarınızı değiştirebilir
yarun

15

Ubuntu'da kullanıcıyı aşağıdakilerle ekleyebilirsiniz:

adduser --disabled-password <username>

Sonra .ssh/authorized_keyskendi ana dizininde ortak anahtarlarıyla dosya oluşturun .


7

Kullanabilirsin:

usermod --lock <username>

Man sayfasından:

Bir kullanıcının şifresini kilitleyin. Bu bir '!' Koyar. şifreli şifrenin önünde, şifreyi etkin bir şekilde devre dışı bırakma. Bu seçeneği -p veya -U ile kullanamazsınız. Not: Hesabı kilitlemek istiyorsanız (yalnızca bir şifreyle erişim sağlamaz), EXPIRE_DATE değerini 1 olarak da ayarlamanız gerekir.

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.