Birisi bana senaryomda yardımcı olabilir mi merak ediyordum.
2 sunucum var. Bunları Sunucu A ve Sunucu B olarak çağıralım. Sunucu B'de yüklü olan ve A Sunucusundan çalıştırmak istediğim bir yazılımı var. A Sunucusunda yazılımı yükleyemiyorum.
Kullanıcıların A Sunucusunda başka bir yazılımı çalıştırmasına izin vermem gerekiyor, bu da daha sonra bir komutu çalıştırmak için Sunucu B'deki yazılımı çağırmak için bir komut dosyasını çağıracak.
Böylece, sunucu A ve sunucu B'de aktarım adı verilen bir kullanıcı yarattım. Transferin, kimlik doğrulama anahtarlarını kullanarak parolaya ihtiyaç duymadan B sunucusuna ssh yapabilmesine izin verdim.
Şimdi A Sunucusundan aktarım olarak su almaya çalışıyorum, Ssh Sunucusuna bağlanın ve komutu çalıştırın.
Bu kök olarak mükemmel çalışıyor. Ancak, kendim veya başka bir kullanıcı olduğumda, B Sunucusunda "aktar" kullanıcısı için parola soruyor.
İşte komut dizisi:
#!/bin/bash
su transfer -c 'ssh transfer@ServerB script $1 $2'
su
, kökten olmayan, A'nın çalıştığı yeni kullanıcının şifresini gerektirir . Bunusu transfer -c 'echo hi'
görmeye çalış. Sen kullanabilirsinizsudo
seçilen kullanıcılar bu özel çalıştırmasına izin vermek içinssh
A, yoksa sadece bunları kullanmak için izin veren bir privatekey seçilen kullanıcılara verebilirssh
erişmek için B olaraktransfer
bir sahip .withouttransfer
kullanıcıyı bir hiç.