ssh-agent: nie przesyłaj dalej uwierzytelnienia dla całego zestawu kluczy


10

Mam dwa prywatne klucze ssh:

  • jeden, aby uzyskać dostęp do moich osobistych maszyn,
  • jeden, aby uzyskać dostęp do serwerów w mojej pracy .

Dodaję te dwa klucze do mojego ssh-agent za pomocą ssh-add.

Teraz, gdy to zrobię ssh -A root@jobsrv, chciałbym przekazać uwierzytelnianie agenta tylko dla mojego klucza zadania (tego, którego używam do połączenia jobsrv).

Chcę tego, ponieważ każdy, kto ma dostęp do roota, jobsrvmoże użyć mojego agenta do uwierzytelnienia się na moich komputerach osobistych.

Czy istnieje sposób na osiągnięcie tej izolacji?


sprawdziłeś opcję -i na stronie podręcznika ssh?
Człowiek

1
@Stillakid tak, ssh -A -i myjobkey_rsa root@jobsrvnadal pozwala maszynie jobsrv na dostęp do mojego lokalnego agenta maszyny i uwierzytelnienie na moim osobistym serwerze za pomocą innego (osobistego) klucza ...
Totor

sprawdziłeś także ssh-keysign?
Człowiek

Odpowiedzi:


2

Aby wymusić ssh(1)użycie określonego klucza, nawet jeśli ssh-agent(1)oferuje wiele, użyj dyrektywy IdentityFilei IdentitiesOnlyw ~/.ssh/confignp.

Host example.com
    IdentityFile ~/.ssh/keys/special.pem
    IdentitiesOnly yes

Zobacz ssh_config(5)szczegóły.


To nie działa . IdentitiesOnlydotyczy, gdy próbujesz połączyć się ze zdalnym serwerem. Po nawiązaniu połączenia, jeśli -Aprzekazywanie agentów jest włączone, przekazywany jest cały brelok.
Totor

Brelok nie został przekazany dalej. To żądanie uwierzytelniania, który jest przekazywany w .
bahamat 17.04.13

@bahamat Pewnie, mój błąd. Jednak to rozwiązanie nie działa.
Totor

2

Niestety, uważam, że nie jest możliwe achive to łatwo w chwili obecnej . Można użyć dwóch agentów (po jednym dla każdego klucza), aby żaden agent nie posiadał wszystkich kluczy. Ale byłoby to dość kłopotliwe w pracy.

Właśnie dlatego został otwarty raport o błędzie (ulepszenie). Istnieje również podobny raport .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.