Jak mogę ssh w polu jako inny użytkownik, biorąc pod uwagę, że użytkownik hosta nie ma klucza ssh na zdalnym komputerze

13

Powiedzmy, że moja nazwa użytkownika mojego komputera Mac to John.

Mam w pełni skonfigurowane konto slicehost. Zauważ, że na tym wycinku nie ma klucza ssh dla Johna.

Teraz konfiguruję to pole dla dostępu ssh do wdrażania użytkownika.

Na moim komputerze Mac mam klucz prywatny do wdrożenia przez użytkownika. Slicehost ma klucz publiczny do wdrożenia przez użytkownika.

Znowu slicehost nie ma nic dla użytkownika John.

Jeśli chcę ssh w polu sliceghost podczas wdrażania użytkownika, czy muszę tam również umieścić klucz publiczny dla Johna?

użytkownik35340
źródło
Dla kompletności dodam ten link, aby móc się do niego odwołać później. gist.github.com/df7d13a0556cd4a1bc13
user35340

Odpowiedzi:

22

Raczej.

Musisz umieścić swój klucz publiczny dla konta, z którego pochodzisz, na zdalnym serwerze. Jeśli jest to Twój klucz John, umieść ten klucz na serwerze, z którym się łączysz, używając odpowiedniego konta dla tego serwera.

W twoim przypadku łączysz się w trakcie wdrażania. Po nawiązaniu połączenia wpisz:

ssh deploy@slicehost

Jeśli klucz dla Johna znajduje się w pliku .ssh / Author_keys konta wdrożenia , otrzymasz bezpośredni dostęp.

Jim
źródło
1
czy to nie przeczy całemu celowi logowania się jako ktoś inny. Tak więc w tym przypadku wydaje się, że muszę umieścić klucz publiczny zarówno dla Johna, jak i wdrożyć w pliku uprawniony_kluczy.
user35340,
3
Nie. Robimy to cały czas dla tworzenia kopii zapasowych sftp. Generujemy parę publicznych kluczy prywatnych, na których systemach musimy utworzyć kopię zapasową. Umieszczamy klucz publiczny dla tego konta / komputera na naszym serwerze kopii zapasowych pod nazwą użytkownika, na przykład użytkownika kopii zapasowej. Następnie, aby wykonać kopię zapasową z komputera klienta, sftp na backup-user @ backup_machine. Użytkownik na komputerze klienckim nie ma znaczenia. Ważne jest tylko, że klucz publiczny dla tego komputera znajduje się w pliku uprawnione klucze na serwerze kopii zapasowej w katalogu .ssh konta użytkownika kopii zapasowej. Działa jak marzenie.
Jim
1

Nie. Nazwa użytkownika nie ma nic wspólnego z parą kluczy publiczny / prywatny. Nie jest nigdzie zapisany w żadnym z klawiszy. Dopóki umieścisz klucz publiczny w .ssh/authorized_keyspliku użytkownika, możesz zalogować się jako ten użytkownik przy użyciu klucza prywatnego.

Kamil Kisiel
źródło
Próbuję tylko upewnić się, że rozumiem poprawnie. Tak długo, jak John ma klucz prywatny do wdrożenia, a klucz publiczny do wdrożenia znajduje się w pliku uprawnione_ klucze, John powinien mieć możliwość zalogowania się podczas wdrażania.
user35340,
Wydaje się, że to nie działa dla mnie - skopiowałem .ssh.authorized_keyskonto z jednego konta na drugie, ale nadal nie mogę się zalogować
Edgar H
1

Musisz określić zarówno, że chcesz się zalogować jako użytkownik „wdrożyć”, jak i określić plik tożsamości do wdrożenia.

ssh -i ~/.ssh/id_deploy.rsa deploy@slicehost

Gdzie id_deploy.rsa to plik klucza prywatnego odpowiadający autoryzowanemu kluczowi przesłanemu na konto slicehost.

David Smith
źródło