Git problem z SSH na ubuntu 20.04

Git problem z SSH na ubuntu 20.04
SU
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:7
0

Cześć,
Wygenerowałem klucze rsa przez:

Kopiuj
ssh-keygen -t rsa -b 2048 -C "adam.nowak@firma.com.pl"

Następnie skopiowałem klucz publiczny **id_rsa.pub ** z katalogu /.ssh i wkleiłem w gitlabie w SSH keys.
Link do gitlaba w firmie wygląda tak ( oczywiście zmieniłem znaczki na losowe ):

Kopiuj
https://abc-gitlab.firma.com.pl

I teraz kiedy próbuję zrobić dla sprawdzenia:

Kopiuj
ssh -T git@abc-gitlab.firma.com.pl

lub też gdy chcę sklonować projekt poprzez

Kopiuj
git clone abc-gitlab.firma.com.pl:projects/someProject

to po jakimś czasie dostaję odpowiedź:

ssh: connect to host abc-gitlab.firma.com.pl port 22: Connection timed out

Gdzie popełniłem błąd? Projekt sklonowałem sobie po http, ale teraz każda operacja, typu pull, push itd wymaga ode mnie wpisywania loginu i hasła..

VT
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 2 lata
3

@Supplier: Na pierwszy rzut oka wygląda jak filtrowana sieć - skoro nie możesz się dostać do portu 22. Nie macie tam jakiegoś firewalla po drodze do tego abc-gitlab.firma.com.pl?

hauleth
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:11 dni
1

A na pewno masz się łączyć na porcie 22? Często jest ten port zmieniany w celu zmniejszenia ataków przez boty.


YA
  • Rejestracja:prawie 10 lat
  • Ostatnio:5 dni
  • Postów:2370
0

Problem podstawowy, to brak połączenia do hosta na port 22. Serwis jest na innym porcie, albo masz firewalla po drodze.

  1. U nas ostatnio przykryli gitlabla firewallem i cloudlfarem. W efekcie trzeba było dodać proxy dla gita (w ~/.ssh/config) i zainstalować demona cloudlfare.

Definiowanie proxy:

Kopiuj
Host firmowy.gitlab 
    ProxyCommand C:/Users/mojuser/bin/cloudflared.exe  access ssh --hostname %h

W efekcie jak robię git pull/push/... to otwiera mi się przeglądarka (za sprawą zdefiniowanego proxy), tam przechodzę proces uwierzytelnienia i w efekcie firewall mnie rozpoznaje i przepuszcza.

Możliwe, że u Was jest jakieś podobne rozwiązanie.

  1. Git i zapisywanie haseł -> Doczytaj o credential store -> https://git-scm.com/docs/git-credential-store

  2. Możesz obejść wpisywanie haseł/innych rzeczy via expect

Kopiuj
#!/usr/bin/expect

set pass "haslo"

# prod - moj remote 
eval spawn git push prod master

expect "*?assword: "
send -- "$pass\r"
sleep 1

expect eof

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.