Bir kullanıcı takma adı ile SSH?


10

Bu soru yinelenmiyor. Lütfen işaretlemeden önce okuyun.

Takma adları kullanarak bir sunucu sunucusundaki ve SSH'deki kullanıcılara sunucuya takma adlar veya takma adlar atamak mümkün müdür? Örneğin , .bashrcveya .bash_aliasesdosyaya eklenen çeşitli komutlar için takma ad satırları boyunca bir şey düşünüyorum :

alias grep='grep --color=auto'

Örneğin, sunucuda kullanıcıları tam adlarıyla (örneğin john_smithyalnızca adları yerine ) ayarlamak için bir gereksinim (iş kuralı) varsa, johnancak takma ad vermek istiyoruz john_smith fruitloopsve John'un şunları yapabilmesini istiyoruz:

ssh john_smith@ip_address

Hem de:

ssh fruitloops@ip_address

Mümkünse, bir kullanıcı ile takma adları arasındaki eşleme nerede ayarlanır? Kullanıcının fruitloopssunucuda da bulunması gerekir mi?

Bu soru, bir ana bilgisayar için değil, bir kullanıcı için bir takma ad ayarlamakla ilgilidir .


1
Ev sahibi takma adla yapabilirsinssh fruitloop
Takkat

Benim sorum, ana bilgisayar için değil, bir kullanıcı için bir takma ad ayarlamakla ilgilidir. IP adresini değil fruitloopskullanıcıyı belirtir john_smith.
dw8547

1
Bunların aynı sorular olmadığına inanıyorum ... +
1'den

1
Yanlış anladığım için üzgünüm - istemcide bir SSH ana bilgisayar takma adı ayarlanmalıdır, ancak ihtiyacınız olan şey sunucuda kurulmuş bir çözümdür . Yakın oyumu geri aldım.
Takkat

1
Bu bazı PAM hile ile mümkün olduğunu düşünüyorum (eğer PAM kullanıyorsanız). Bu satırlar boyunca bazı eski kodları bulabilirim (eğer yaparsam cevap olarak göndereceğim).
Sumudu Fernando

Yanıtlar:


14

Linux'taki her kullanıcının sadece bir adı vardır ve bu onun tek adıdır. kullanıcılar için değil, komutlar için takma adlar oluşturabilirsiniz.

Ancak aynı UID'ye, ana dizine ve şifreye sahip, sizin için hile yapacak ikinci bir kullanıcı oluşturabilirsiniz.


Yani /etc/passwdbu kullanıcılara karşılık gelen girişlerim şöyle görünecektir: john_smith:x:1001:1001:,,,:/home/john_smith:/bin/bashve fruitloops:x:1001:1001:,,,:/home/john_smith:/bin/bash?
dw8547

2
Ben 3 farklı yaklaşımlar denedi sonra kullanıcı ekleme john_smithile UID = 1001. 1) adduser --home /home/john_smith --uid 1001 fruitloops , bu işe yaramadı ( adduseruserid alındığı için başarısız oldu) 2) useradd --home /home/john_smith --non-unique --uid 1001 fruitloops , bu işe yaradı, ancak arzu edilmeyen bazı davranışlara yol açtı 3) Sonunda satırı fruitloops:x:1001:1001:,,,:/home/john_smith:/bin/bashdoğrudan /etc/passwddosyaya ekledim ve bu daha sonra ne olduğuma en yakındı . Ben SSH ip_addressas içine fruitloopsve /home/john_smithvarışta iniş .
dw8547

1
Burada anlattığın kelimelerle tartışacağım. Senaryonuzda, iki farklı giriş adıyla bir kullanıcı (1001) oluşturdunuz. Burada yapmadınız, ancak iki ismin farklı ev dizinleri ve giriş kabuklarına sahip olmasının bir nedeni yok. "Fruitloops" olarak oturum açın ve bir dosya oluşturun. Şimdi dizini kontrol edin ve john_smith'in dosyanın sahibi olarak gösterildiğini göreceksiniz, çünkü uid 1001 için / etc / passwd içinde bulunan ilk ad budur. John_smith'in adı ve fruitloops'un takma ad mı yoksa john_smith olduğunu tartışabiliriz birincil adı ve meyve döngülerini ikincil, ancak bu semantik.
Monty Harder

2
"aynı UID, giriş dizini ve şifreyle ikinci bir kullanıcı oluşturabilirsiniz" - bu, farklı POSIX uyumlu uygulamalarda çalışması garanti edilmeyen korkunç bir saldırı gibi görünür. POSIX, kullanıcı adları ile kullanıcı kimlikleri arasındaki ilişkinin çift yönlü olarak farklı olmasını gerektirir.
David Foerster

@ dw8547 useradd komutunun istenmeyen davranışı hakkında biraz daha bilgi verebilir misiniz?
Monty Harder

0

Bunu denemedim, ancak tek bir UID'ye eşlenen iki kullanıcının yanı sıra başka bir seçenek (IMO tehlikeli görünüyor, ancak bu seçenek muhtemelen aynı derecede tehlikeli), SSH anahtarına dayalı bir yönlendirici olarak tek bir kullanıcının hizmet vermesini sağlamak. SSH kullanan kaynak kontrol havuzları genellikle bu şekilde çalışır.

Kullanıcıyı arayalım me. Herkes bu takma adı kullanacak.

ssh me@ip_address

Şimdi kullanıcı metüm kullanıcı ortak anahtarları kendi vardır ~/.ssh/authorized_keys.

command="sudo -i -u user-mapped-to-key" ssh-rsa key

Kullanıcının mediğer kullanıcılar gibi sudo yapabilme yeteneğine sahip olmanız ve meyetkili anahtarlar dosyasını yönetmeniz gerekir .

Her neyse, bunu test etmedim ama teoride böyle bir şey işe yarayacak.

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.