2012-11-20 8 views
10

Nie mogę uzyskać dostępu do instancji Amazon EC2 przez ssh, ponieważ znajduję się za firewallem. Tak, myślałem o uruchomiony ssh na port inny niż 22, jak 80 lub 443.Uruchamianie ssh na instancji Amazon EC2 na porcie innym niż 22

Próbowałem rozpoczynając wystąpienie Amazon EC2 za pomocą konsoli zarządzania Web z następującymi danymi użytkownika „”:

#!/bin/bash -ex 
perl -pi -e 's/^#?Port 22$/Port 80/' /etc/ssh/sshd_config 
service sshd restart || service ssh restart 

Pomysł samopoczucia że powyższy skrypt będzie wykonać na przykład uruchamiania i przełączania ssh z portu 22 do portu 80. (Ref: http://alestic.com/2010/12/ec2-ssh-port-80)

Ale ssh wciąż nie jest dostępny na porcie 80. Podobno scenariusz „dane użytkownika” nie jest aktualnie wykonywany na rozpocząć?

mogę „tylko” uruchomić instancje zatrzymania poprzez Web Management Console, a nie z linii poleceń (jest za firewallem)

jakieś pomysły?

+2

prosić o otwarcie 22 w pracy. lub wejdź tutaj http://www.serfish.com/console/ – Drew

+0

faktycznie potrzebujesz twojego pem wypieczonego w under auth, więc myślę, że nie możesz używać serfish. Mogę się mylić. – Drew

+0

kiedykolwiek udało się to wydedukować? Mam ten sam problem. sshd nie pojawi się na porcie 80. – filippo

Odpowiedz

10

Zapora amazon blokuje wszystkie porty inne niż 22. Musisz najpierw włączyć port 80/443/cokolwiek.

HOWTO: Przejdź do "grup zabezpieczeń" -> kliknij wybraną grupę dla swojej instancji, a następnie kartę "Przychodzące".

Tam możesz dodać swoje porty.

EDYCJA: Jeśli przez przypadek zainstalowałeś też apache lub jakiś inny serwer internetowy, port 80 będzie użyty i nie może być użyty przez sshd. Nie wiem, który system operacyjny jest zainstalowany na twoim serwerze, ale może jakiś serwer jest już dostępny?

+0

Jens, zapora, która uniemożliwia mi wykonywanie ssh nie jest na Amazon End. Jest na moim końcu :). – Jasper

+5

Może tak być, ale jeśli nie skonfigurowałeś zapory ogniowej Amazon, to domyślnie otwarty jest tylko port 22. O to mi chodziło. – Jens

11

Aby połączyć się z wystąpieniem AWS poprzez ssh z portu inny niż domyślny 22:

  1. Otwarta grupa zabezpieczeń Twojego przykład tak, że umożliwia on połączenia do tego portu ze źródła, które wybierzesz (0.0. 0,0/0 dla dowolnego źródła).
  2. W swojej przykład:

    • Jest to nowa instancja można użyć skryptu dla użytkownika danych, takich jak ten:

    #!/bin/bash -ex perl -pi -e 's/^#?Port 22$/Port 443/' /etc/ssh/sshd_config service sshd restart || service ssh restart

Należy pamiętać, że to tylko działa, jeśli uruchamiasz nowe wystąpienie:

Skrypty danych użytkownika i dyrektywy inicjowania chmury działają tylko podczas pierwszego uruchomienia, gdy instancja zostanie uruchomiona.

  • Jeśli nie jest nowa instancja, edytować plik /etc/ssh/sshd_config dodanie/zmiana Port 22 do portu, który chcesz (tj: Port 443) do łączenia się przez ssh, a następnie wykonaj service ssh restart i powinno być zrobione.

Uwaga: Zrobiłem to z instancją Ubuntu, inne instancje Linuksa mogą się nieznacznie różnić.

+0

To działało dla określenia portu w mojej instancji ubuntu. Ale musiałem dodać niestandardową regułę TCP określającą port w grupie bezpieczeństwa, dopóki nie otrzymałem błędu przekroczenia limitu czasu. –

Powiązane problemy