Zwykle loguję się na serwerze SSH (gdzie jestem nieuprzywilejowanym użytkownikiem) przy użyciu moich kluczy publicznych. Używam również uwierzytelniania za pomocą hasła, gdy używam serwera jako repozytorium git-annex .
Chcę, aby umożliwić wykonywanie tylko git-annex
powiązanych poleceń, gdy sshd jest uwierzytelniane hasłem. git-annex
wyposażony jest w opakowaniu, które jest odpowiednikiem git-shell
dla git
. Wiem, że mógłbym authorized_keys
to zrobić w innych sytuacjach, ale nie w tym konkretnym przypadku.
Jak mogę to zrobić? Serwer jest serwerem Debian z OpenSSH_6.0p1 Debian-4 + deb7u3.
authorized_keys
może być sprzeczna z twoim stwierdzeniem, w zależności od tego, co rozumiesz przez „typ uwierzytelnienia”. (w końcu jest to problem po stroniesshd
, a nie systemu operacyjnego.)Odpowiedzi:
Umieść to przed każdym kluczem ssh
~/.ssh/authorized_keys
, którego chcesz używać wyłącznie w przypadku git-annex ( zamień _MY_ANNEX_REPO_DIR_ i _PATH_TO_GIT_ANNEX_SHELL_ odpowiednimi wartościami):Obecnie próbuję zastąpić Dropbox za pomocą git-annex. Powyższe ustawienia działają dla mnie już od tygodnia. Zaktualizuję ten post, jeśli odkryję jakieś problemy.
źródło
Nieuprzywilejowany użytkownik nie może skonfigurować sshd. Możliwe, że możesz ograniczyć wpisy kluczy autoryzowanych do jednego polecenia. Ale nie przy użyciu hasła do logowania. Potrzebujesz pomocy roota, aby zmienić powłokę logowania lub coś takiego. Jeśli stworzy ograniczoną skorupę lub chrootowane więzienie, to dostosowanie jest możliwe.
źródło