SSH yapılandırması: varsayılan kullanıcı adını geçersiz kıl


271

Kullanıcı sshadımın ne olması gerektiğini bilmek yapılandırılabilir mi?

Varsayılan olarak benim durumumda doğru olmayan geçerli kullanıcı adını kullanır.

Ödünç veren bir dizüstü bilgisayardayım ve kullanıcı adım loaner, ancak sshkullanıcı adımınbuck .

Bonus puanları: Evde kullanıcı adım bgolemon. Ev sahibi başına kullanıcı adını daha iyi olacak şekilde yapılandırabilirsem.


3
Stack Overflow, programlama ve geliştirme soruları için bir sitedir. Bu soru konu dışı gibi görünüyor çünkü programlama veya geliştirme ile ilgili değil. Yardım Merkezi'nde hangi konular hakkında soru sorabilirim konusuna bakın . Belki Süper Kullanıcı veya Unix & Linux Stack Exchange sormak için daha iyi bir yer olurdu. Ayrıca bkz. Dev Ops ile ilgili soruları nereye gönderebilirim?
jww

3
Bu çok iyi bir soru!
Nicolas S.Xu

kabul edilen cevap, süper kullanıcılardan daha kalitelidir: genel (varsayılan) kullanıcı yönergesi kullanımı ve eklenen yorumlar, yönerge önceliklerini netleştirir
Rondo

Yanıtlar:


449

configİçinde adlı bir dosya oluşturun ~/.ssh. Dosyanın içine şunları ekleyebilirsiniz:

Host *
    User buck

Veya ekle

Host example
    HostName example.net
    User buck

İkinci örnek bir kullanıcı adı belirler ve ana bilgisayar adına özgüdür; ilk örnek yalnızca bir kullanıcı adı belirler. Ve ikincisini kullandığınızda kullanmanıza gerek yok ssh example.net; ssh exampleyeterli olacaktır.


134
Muhtemelen şunu belirtmeye değer man ssh_config: Since the first obtained value for each parameter is used, more host-specific declarations should be given near the beginning of the file, and general defaults at the end.Yani Host *bölüm muhtemelen sonuna kadar gitmeli.
quodlibetor

9
Yapılandırma dosyasının yukarıdan aşağıya doğru işleneceğini, her alanı doldurduğunu (Kullanıcı, Ana BilgisayarAdı ...) ve birden çok Ana Bilgisayar yönergesi eşleşirse tekrarlanan alanları atlayacağını belirtmek gerekir. Eğer tanımlarsanız Host *, User jdoeüstünde ve sonra tanımlamak Host example, HostName abc.example.com, User root, çalışırken ssh examplegirdiğiniz gibi aynı olacaktır ssh jdoe@abc.example.com. Ssh varsayılanlarını (yani. User root) Tanımlamak için yönerge'nin config dosyasının altındaHost * olması gerekir .
mr.b

17
Ayrıca .ssh / config üzerinde chmod 600'ü de unutmayın
Sven

Sunucunun erişebileceği birden çok ana bilgisayar adı varsa (veya birden çok sunucu için aynı varsayılan kullanıcı adını istiyorsanız), ilk satırı değiştirmeli ve satırdan Host server1.local example.net *.example.orgkurtulmalısınız HostName.
Lèse majesté

44

Ödünç alınmış veya paylaşılan bir bilgisayarda olduğu gibi yalnızca birkaç kez ssh yapmak istiyorsanız şunu deneyin:

ssh buck@hostname

veya

ssh -l buck hostname

1
Teşekkürler, ama ben zaten buna aşinayım. O ne zaman konağın @ kova belirtmek için gereksiz görünüyor hep konak @ kova. Bir yapılandırma dosyasında bu bilgileri temsil etmek için bir yöntem bulmaya çalışıyorum.
bukzor

1
Diğer ad sshhostname = 'ssh buck @ hostname' kadar basit bir şey düşündünüz mü?
gpojd

Evet bende var. Learath2'nin cevabı tam olarak aradığım şeydi. Bunu dotfiles veri havuzumda kontrol edebilir ve bir daha endişelenmeyeceğim.
bukzor

Takma ad kökünü aldım çünkü farklı istemciler için makinelere bağlandım, kullanıcı adım her istemci ortamında farklı. Sanırım başka bir yaklaşım, her istemci için ssh ve ilgili ayarları ayarlamak için farklı yerel kabuk ortamlarına sahip olmak olacaktır. Veya istemci başına bir VM.
Nick Spacek

6

man ssh_config diyor

kullanıcı

Olarak oturum açacak kullanıcıyı belirtir. Bu, farklı makinelerde farklı bir kullanıcı adı kullanıldığında yararlı olabilir. Bu, komut satırında kullanıcı adı vermeyi hatırlamak zorunda kalmamanızı sağlar.


1
Bu durumda "kimlik" olağan "şifre" kullanımına eşdeğerdir. Bu sizi doğrular veriler olmakla birlikte, yardım kimliğini doğrulamak için uğraşanlar belirtmez olarak .
bukzor

Hata. Orada da bir kullanıcı ayarı var.
nes1983

0

Bir kısayol kullanabilirsiniz. Ana dizininizde bir .bashrc dosyası oluşturun. Oraya aşağıdakileri ekleyebilirsiniz:

alias sshb="ssh buck@host"

Takma adı terminalinizde kullanılabilir yapmak için terminalinizi kapatabilir ve açabilir veya çalıştırabilirsiniz.

source ~/.bashrc

Sonra sadece şunu yazarak bağlanabilirsiniz:

sshb

1
Bu, belirli bir ana bilgisayar için harika, ancak bir trilyon farklı sunucuya bağlanmaya devam ederken, bu oldukça işe yaramaz. Bunun yerine .ssh/configuygun ayarlarla ayarlayın. *Wildcare'i aramaya geldim (ve altta olması gerektiğini öğrendim).
mazunki

0

sshAdı verilen yapılandırma dosyanızın arayüzünü oluşturan bir Ruby mücevher var sshez.

Yapmanız gereken tek şey sshez <alias> username@example.com -p <port-number>ve sonra kullanarak bağlanabilirsiniz ssh <alias>. Takma adlarınızı kullanarak listeleyebileceğiniz sshez listve bunları kullanarak kolayca kaldırabileceğiniz için de yararlıdır sshez remove alias.

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.