Ubuntu Server - blokada portu SSH

0

Witam,
na swoim serwerze mam customowy port SSH (używam go do konsoli), dodałem też port domyślny(22), ale do niego jest przypisany GitLab. Pytanie jest takie, jak zablokować port domyślny by nie można było przez niego logować się do konsoli? Chce by był tylko dla GitLaba.

0

/etc/ssh/sshd_config <- tu zmieniasz port. Lub odinstaluj secure shell host.

0

Tak wiem gdzie zmieniać porty. Napisałem że dodałem 2 porty. Otóż chce zablokować drugi port - zablokować na tym porcie możliwość logowania.

REFRESH!

2

Nie jest to takie proste.

OpenSSH ma możliwość dodania dyrektywy Match i specjalnych ustawień w zależności od tego, co pasuje. Na przykład dodania czegoś dla konkretnego użytkownika, albo zdalnego hosta, albo portu na który przyszło połączenie, poprzez Match LocalPort. Problem tylko taki, że to jest dopiero w openssh 6.1, ja na przykład na CentOS mam "tylko" 5.3 w repozytorium (w Archu mam 6.6).

Do tego jest ForceCommand, można wymusić w Match, żeby się wykonało konkretne polecenie po zalogowaniu na przykład na konkretnym porcie.
Do tego może być użyteczny git-shell. Działa jak shell, ale pozwala tylko na wykonywanie komend gita. Wystarczy zatem teoretycznie tylko zrobić Match, że jeśli jesteśmy na porcie 22, to wtedy wykonaj ForceCommand uruchamiający git-shell, podobnie jak tutaj http://serverfault.com/a/256743, tylko dla portu, nie dla grupy.

0

Zrobiłem to w ten sposób i działa wyśmienicie. Git łączy, pobiera, wysyła - nie działa wtedy logowanie SSH poprzez hasło. Klucz "id_rsa.pub" dodany do GitLaba umożliwia pracę z tylko z GIT. Na drugim porcie działa tak jak miało działać. ;)

Match LocalPort <Port odblokowany tylko do logowania - u mnie to port niestandardowy>
    PasswordAuthentication yes

Match LocalPort <PORT_BLOKOWANY-u mnie blokowałem GIT czyli domyślny 22 by bardziej zabezpieczyć serwer>
    PasswordAuthentication no

Nie jest to takie proste.
Jak widać, jest prostrze niż myślałeś ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1