2015-09-23 13:36:05 +0000 2015-09-23 13:36:05 +0000
6
6

SSH :połącz się z hostem localhost port 22: Połączenie odrzucone

W debian kali próbowałem połączyć się z ssh i dostaję następujący błąd :

SSH: connect to host localhost port 22: Connection refused

Tło :

Próbowałem połączyć się z ssh w debian, używam kali 2.0 sana

Co próbowałem/robiłem:

`apt-get install openssh-server`

zainstalowałem openssh-server i jego uaktualnienie

odpytałem usługę ssh status

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
   Active: active (running) since Wed 2015-09-23 17:20:36 IST; 36min ago
 Main PID: 1594 (sshd)
   CGroup: /system.slice/ssh.service
           └─1594 /usr/sbin/sshd -D

Skonfigurowałem ponownie dpkg-reconfigure openssh-server i to również doprowadziło do sukcesu

Teraz próbowałem się połączyć ssh root@localhost co wymaga hasła root@localhost więc co zrobiłem to

vi /etc/ssh/sshd_config i dodałem komendę deny root login :

Mój sshd_config jak poniżej :

What ports, IPs and protocols we listen for Port 22
#Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0 Protocol 2
# HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key
#Privilege Separation is turned on for security UsePrivilegeSeparation yes

Teraz ponownie spróbowałem połączyć się z ssh przez ´ssh root@localhost´ ale nie dostałem connect to host localhost port 22: Connection refused

Pomyślałem, że moje iptables może to uniemożliwiać więc skonfigurowałem to jako :

vim /root/firewall.rules
root@vignesh:~# iptables-save > /root/firewall.rules
root@vignesh:~# iptables -X
root@vignesh:~# iptables -t nat -F
root@vignesh:~# iptables -t nat -X
root@vignesh:~# iptables -t mangle -F
root@vignesh:~# iptables -t mangle -X
root@vignesh:~# iptables -P INPUT ACCEPT
root@vignesh:~# iptables -P FORWARD ACCEPT
root@vignesh:~# iptables -P OUTPUT ACCEPT
root@vignesh:~# iptables-save > /root/firewall.rules

I zapytałem iptables-save

# Generated by iptables-save v1.4.21 on Wed Sep 23 18:50:34 2015
*mangle
:PREROUTING ACCEPT [41217:4171959]
:INPUT ACCEPT [27727:3255690]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1834:219528]
:POSTROUTING ACCEPT [1835:219654]
COMMIT
# Completed on Wed Sep 23 18:50:34 2015
# Generated by iptables-save v1.4.21 on Wed Sep 23 18:50:34 2015
*nat
:PREROUTING ACCEPT [15456:1179155]
:INPUT ACCEPT [1858:255303]
:OUTPUT ACCEPT [223:14078]
:POSTROUTING ACCEPT [223:14078]
COMMIT
# Completed on Wed Sep 23 18:50:34 2015
# Generated by iptables-save v1.4.21 on Wed Sep 23 18:50:34 2015
*filter
:INPUT ACCEPT [26756:3173280]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1775:215770]
COMMIT

Zgodnie z komentarzem sprawdziłem

root@vignesh:~# netstat -an | grep 22
tcp 0 0 10.100.8.40:54036 216.58.220.46:80 ESTABLISHED
tcp 0 0 10.100.8.40:41573 216.58.220.14:80 ESTABLISHED
unix 3 [] STREAM CONNECTED 17722 @/tmp/dbus-JUNz9GwSon
unix 3 [] STREAM CONNECTED 13422    
unix 3 [] STREAM CONNECTED 17224    
unix 3 [] STREAM CONNECTED 17422    
unix 2 [] DGRAM 9222     
unix 3 [] STREAM CONNECTED 17221 /var/run/NetworkManager/private
unix 3 [] STREAM CONNECTED 17225 /var/run/NetworkManager/private
unix 3 [] STREAM CONNECTED 17229    
unix 3 [] STREAM CONNECTED 17220

Teraz znowu spróbowałem ssh root@localhost ale znowu dostałem błąd.

Proszę mnie poinstruować, gdzie brakuje mi części? Jak mogę to podłączyć?

Odpowiedzi (5)

14
14
14
2015-10-01 05:01:43 +0000

Twoje wyjście netstat pokazuje, że nie ma żadnego procesu nasłuchującego na porcie 22, co wyjaśniałoby, dlaczego otrzymujesz Connection refused przy próbie SSH.

Twoja informacja o demonie status pokazuje, że działa, ale nie ma z nim powiązanego żadnego portu nasłuchującego (lub nie wydaje się, żeby był).

Ponadto, jak powiedziano ci w komentarzach, twój plik sshd wydaje się być nieprawidłowy. Mówisz, że chcesz wyłączyć logowanie roota, więc zaproponuję konfigurację dla twojego demona SSH.

Edytuj plik sshd_config i umieść w nim następującą zawartość:

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
ClientAliveInterval 30
ClientAliveCountMax 99999

Jeśli martwisz się o bezpieczeństwo, możesz ograniczyć SSH tylko do tych użytkowników, których chcesz. Na przykład, jeśli chcesz, aby tylko użytkownik /etc/ssh/sshd_config mógł korzystać z SSH, możesz dodać kolejną dyrektywę, jak poniżej:

AllowUsers vignesh

Po tym wystarczy zrestartować usługę vignesh. Po wykonaniu tych czynności, jeśli uruchomisz sshd, powinieneś zobaczyć port netstat -atpn | grep 22 nasłuchujący dla wszystkich.

3
3
3
2015-10-02 17:17:12 +0000

Nie widzę, czy rzeczywiście dodałeś tę linię, czy ją odkomentowałeś: Port 22

Jeśli w sshd_config nie zostanie podany żaden port, sshd nie będzie nasłuchiwał na żadnym porcie. Biorąc pod uwagę twoje dane wyjściowe z netstat, to prawdopodobnie jest problem.

2
2
2
2015-10-02 04:53:58 +0000

Po pierwsze upewnij się, że twoje konto root ma ustawione hasłojeśli root nie ma hasła możesz sudo passwd root następnie wpisać nowe hasło dla root.

Następnie możesz SSH in z opcją -v dla verbose output..:

ssh root@localhost -v

Jeśli połączenie nadal jest odrzucane, proszę zamieścić wyjście polecenia ssh root@localhost -v.

0
0
0
2017-04-27 10:04:59 +0000

Kroki:

Załóżmy, że IP serwera 1 to 192.x.x.1, a IP serwera 2 to 192.x.x.2

Na serwerze 1:

ssh-keygen -t rsa
cd .ssh
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.x.x.2

Teraz ssh server2.com lub ssh 192.x.x.2

Jeśli pojawi się błąd połączenia (SSH ::), to sprawdź plik /etc/hosts na obu serwerach musi on mieć IP SERWERA1 i SERWERA2, a jeśli nie zawiera wpisów obu serwerów, to zaktualizuj ten plik /etc/hosts na obu serwerach podając adres IP nazwę hosta itp, a następnie sprawdź, czy twój problem zostanie rozwiązany.

Dostałem ten sam błąd i został on rozwiązany poprzez modyfikację adresów IP w obu plikach hosts.

0
0
0
2017-09-14 08:51:53 +0000

Przyszło mi to do głowy dzisiaj. Zgodnie z tym link , “Kali Linux nie jest dostarczany z włączonym SSH”