it-swarm-tr.com

Ubuntu Sunucusunda yeni bir SSH kullanıcısı oluşturun

Yeni bir sanal Ubuntu sunucusu yarattım ve üretimde kullanım için sertleştirme sürecindeyim. Şu anda bir kök hesabım var. Aşağıdakileri yapmak istiyorum:

  • Yeni bir kullanıcı oluşturun (geri kalanı için onları jim olarak çağıralım). Bir /home/ dizini olmasını istiyorum.
  • jim SSH erişimi verin.
  • jim - su köklerine izin verin, ancak Sudo işlemi gerçekleştirmeyin.
  • Root SSH erişimini kapatın.
  • Kaba saldırıları durdurmak için SSHd'yi standart olmayan bir bağlantı noktasına getirin.

Benim sorunum ilk iki maddeden kaynaklanıyor. useradd'i zaten buldum ama nedense SSH üzerinden oluşturulan kullanıcı olarak giriş yapamıyorum. Buna izin vermek için SSHd'yi geçmem gerekir mi?

104
Oli

Düzenleyin (kök olarak) /etc/ssh/sshd_config. Aşağıdakini buna ekleyin:

Port 1234
PermitRootLogin no
AllowUsers jim

Port 1234, SSH'nin 1234 numaralı bağlantı noktasını dinlemesine neden olur. Kullanılmayan herhangi bir bağlantı noktasını 1 ile 65535 arasında kullanabilirsiniz. SSH arka plan planınız bir nedenle çalışmayı bırakırsa, sahte bir uygulama bağlantıyı kesemez.

PermitRootLogin doğrudan kök girişine izin vermez.

AllowUsers jim, jim kullanıcısının SSH üzerinden oturum açmasına izin verir. Her yerden giriş yapmanız gerekmiyorsa, jim'i bir IP adresiyle sınırlandırarak bunu daha güvenli hale getirebilirsiniz (1.2.3.4'ü gerçek IP adresinizle değiştirin):

AllowUsers [email protected]

/etc/ssh/sshd_config yapılandırma dosyasındaki değişiklikler, yapılandırmayı yeniden yüklemek için hemen uygulanmaz:

Sudo service ssh reload
99
Lekensteyn

SSH, dizin ve dosya izinleri konusunda çok seçicidir. Emin olun:

  1. /Home/username/.ssh dizini "700" iznine sahiptir ve kullanıcıya aittir (root değil!)
  2. / Home/username/ssh/yetkili_keyler "600" iznine sahiptir ve kullanıcıya aittir.

Genel anahtarınızı yetkili_keys dosyasına kopyalayın.

Sudo chown -R username:username /home/username/.ssh
Sudo chmod 0700 /home/username/.ssh
Sudo chmod 0600 /home/username/.ssh/authorized_keys

NO kullanıcıyı/etc/ssh/ssh_config dosyasına eklemeniz gerekir.

95
dh1tw

SSH (veya PAM) 'in oturum açma girişimini neden reddettiği için /var/log/auth.log içinde ipuçları olacaktır. ssh istemcisi ile -v seçeneği kullanılarak ek ipuçları bulunabilir. Bazı ortak durumlar, bazıları diğer cevaplarda belirtilmiştir:

  • kullanıcı hesabında parola yoksa veya devre dışı bırakıldı (bkz. man passwd, şifreyi sıfırlamayı veya /etc/shadow içeriğini kontrol etmeyi deneyin.).
  • /etc/ssh/sshd_config giriş bilgisine izin vermeyecek şekilde yapılandırılmış (DenyUsers, AllowUsers, PasswordAuthentication, PubkeyAuthentication, UsePAM etc, man sshd_config) .
  • kullanıcının Kabuğu /etc/shells içinde listelenmiyor.
  • sSH işlemi ile ilgili dizinlerde veya dosyalarda çeşitli izin sorunları: /etc/ssh, /home/jim/.ssh, /home/jim/.ssh/*, vb.

Ayrıca eklemek için adduser (yerine useradd ) kullanmanızı tavsiye ederim. Yeni kullanıcılar; Çeşitli varsayılan hesap ayarları hakkında biraz daha kolay.

Kullanıcı admin grubunun bir parçası olmadığı sürece, root'a Sudo yapamazlar. Su (- === -) su kullanmaları için, bir root şifresi ayarlamanız gerekecektir (passwd root), bundan sonra PermitRootLogin=no ayarlamanızı tavsiye ederim. /etc/ssh/sshd_config içinde.

12
Kees Cook

Yanılıyor olabilirim ancak bağlanabilmem için önce sunucu arka planını yüklemem gerekiyor (En azından masaüstünde) ssh varsayılan olarak yüklendi, ancak bu yalnızca istemci

bu komut sunucuyu yükler

Sudo apt-get install openssh-server

Bağlantı noktasını değiştirebilir ve kök girişini durdurarak düzenleyebilirsiniz.

/etc/ssh/sshd_config

Bu, hizmeti yine de başlatmanızı gerektirir.

Sudo service ssh restart

11
Matt Mootz

Siz bir şifre belirleyene kadar Jim, SSH erişimine sahip olmayacak. Kök yürütmek için:

grep -i "jim" /etc/shadow | awk -F':' '{ print $2 }'

Bu komut bir "!" Verirse karakter sonra giriş bu hesap için devre dışı bırakıldı. Kök olarak passwd jim komutunun çalıştırılması, yeni bir ve onaylanmış parola dizesi ister. Yukarıdaki grep komutu, jim için parolayı temsil eden bir karma dizge döndürmelidir.

Ayrıca, jim'in varsayılan olarak ayarlanmış bir oturum açma Shell'i ve var olan bir giriş dizini olduğunu doğruladığınızdan emin olun.

Lütfen SSH sunucu ayarlarının değiştirilmesi hakkında bilgi için lekensteyn'in gönderisine dikkat edin.

7
Tok

Benim durumumda erişime izin verilen bir grubum vardı ve kullanıcı bunun bir parçası değildi. Bu benim için çözdü.

Yukarıdaki örneği jim kullanıcısıyla birlikte kullanın ve grubun bir üyesini jim grubunun bir üyesi olarak kabul edin (bir parçası olduğunuz grupları bulmak için groups olarak giriş yaparken issue jim komutu). /etc/ssh/sshd_config dosyamda AllowGroups sshusers girdisine sahiptim ve böylece jim grubuna sshusers eklemek gerekiyordu. Aşağıda, bunun nasıl başarılacağı açıklanmaktadır:

usermod -a -G sshusers jim

Grubunuzu ve kullanıcıyı yapılandırmanıza uygun olarak değiştirin.

3
Joshua Fricke

@Lekensteyn Soruya cevap bırakamıyorum çünkü itibarım yok - ama eklemeye çalıştım

AllowUsers existingUser,newUser

/ etc/ssh/sshd_config dosyama ve şimdi artık hem mevcutUser hem de newUser ile ssh yapamıyorum.

0
ptjetty

PasswordAuthentication öğesinin varsayılan olarak devre dışı bırakıldığı bazı durumlar olabilir.

Lütfen /etc/ssh/sshd_config işaretini kontrol edin ve PasswordAuthentication özelliğinin yes olarak ayarlandığından emin olun.

0
Aldee