ssh sunucularını bilgisayardaki tüm kullanıcılara global hale getirme


15

Yani SSH bu dosyaları vardır Belirli bir kullanıcı için yapılandırmak ayarları söyledi.

~/.ssh/authorized_keys
~/.ssh/config
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
~/.ssh/known_hosts

Bu dosyaların bazılarını globalleştirmek istiyorum, configve gibi known_hosts. Böylece diğer kullanıcılar ( kök dahil ) yapılandırılmış ana bilgisayarları paylaşabilir.

Bunu yapmanın en iyi yolu ne olurdu?

Yanıtlar:


21

İçin ~/.ssh/configalakalı sistem genelinde ayarları yerleştirebilirsiniz / etc / ssh / ssh_config göre kılavuz sayfasında :

ssh (1) aşağıdaki kaynaklardan yapılandırma verilerini aşağıdaki sırayla alır:

  1. komut satırı seçenekleri
  2. kullanıcının yapılandırma dosyası (~ / .ssh / config)
  3. sistem çapında yapılandırma dosyası (/ etc / ssh / ssh_config)

Her parametre için ilk elde edilen değer kullanılacaktır. Yapılandırma dosyaları "Ana Bilgisayar" spesifikasyonlarıyla ayrılmış bölümler içerir ve bu bölüm yalnızca spesifikasyonda verilen kalıplardan biriyle eşleşen ana makineler için uygulanır.

Yalnızca ilk değerin kullanılacağını unutmayın; bu, kullanıcının sistem genelindeki yapılandırma seçeneklerini her zaman yerel olarak geçersiz kılabileceği anlamına gelir.

İçin ~/.ssh/known_hostskullanabileceğiniz /etc/ssh/ssh_known_hostsveya başka bir dosya GlobalKnownHostsFile yapılandırma seçeneğiyle belirtilen:

GlobalKnownHostsFile

/ Etc / ssh / ssh_known_hosts yerine genel ana bilgisayar anahtarı veritabanı için kullanılacak dosyayı belirtir.

Diğer dosyalar için mümkün olup olmadığını emin değilim, ama sen eğer sembolik bağları halledebiliriz hayal gerçekten kullanıcıları arasında hem özel anahtarlar paylaşmak istedik.


1
GlobalKnownHostsFile teklifinizde bir yazım hatası var.
cjm

1
UserKnownHostsFile = / dev / null ssh, bilinen_anahtarlar dosyası içinde asla geçerli bir anahtar bulamaz, ancak yine de kullanıcı bir geçici kabul edebilir.
Janning

1
@Janning, aslında bunun IgnoreUserKnownHostsiçin bir seçenek var gibi görünüyor (değerler yesveya no).
kael

Genel /etc/ssh/ssh_known_hostsdosyanın dünya tarafından okunabilir olması gerektiğini unutmayın . ssh-keygen -Hf /etc/ssh/ssh_known_hostsManuel olarak girişleri ekledikten sonra benimkini yeniden kullanmak için kullanıyordum ve sadece sahibine ayarlanmış gibi görünüyor.
kael

1

Kök tüm güçlü olduğundan, dosyaları diğer kullanıcılardan kopyalamak için bir kök cron işi kullanırdım. Bilinen Ana Makineler ve yetkili anahtarlar kolayca eklenebilir. Eğer hepsi bir bölümdeyse, hardlink seçeneği vardır. Simgelerin dosyalar için işe yarayıp yaramayacağından emin değilsiniz, ancak bunları da paylaşılan, ancak güvenli bir yere koymanız gerekir.


2
Kullanıcıların IMHO'nun istenmeyen etkisi olan kendi ana bilgisayarlarını eklemelerini önleyecektir.
Maciej

Bir hardlink dosyasının aynı izinlere sahip olması gerektiğini unutuyorum, ancak olduğundan şüpheleniyorum. Ancak dosyayı cron ile kopyalayabilir ve ardından izinlerin doğru olduğundan emin olabilirsiniz.
xenoterracide
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.