Ssh connect to host port 22 connection refused linux

SSH :connect to host localhost port 22: Connection refused

In debian kali I tried to connect ssh and getting the following error : SSH: connect to host localhost port 22: Connection refused Background : I was trying to connect ssh in debian, I am using kali 2.0 sana What I have tried/did:

`apt-get install openssh-server` 
● 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 

Reconfigured dpkg-reconfigure openssh-server and it also lead to success Now I tried to connect ssh root@localhost which requires root@localhost password so what I did was vi /etc/ssh/sshd_config and added command to deny root login : My sshd_config as follows :

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 

Now again tried to connect ssh via ´ssh root@localhost´ not I got connect to host localhost port 22: Connection refused I though my iptables might be preventing it so configured it as :

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 
# 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 
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 

Now again I tried ssh root@localhost but again got the error. Kindly guide me where I am missing the part? How can I get it connected?

Читайте также:  Чем посмотреть температуру процессора линукс

Источник

Как исправить ошибку SSH Connection Refused

img

У вас проблемы с доступом к удаленному серверу через SSH? Если SSH отвечает сообщением «Connection Refused» (Соединение отклонено), возможно, вам придется изменить запрос или проверить настройки.

Почему при использовании SSH возникает отказ в подключении?

Существует множество причин, по которым вы можете получить ошибку «Connection Refused» при попытке подключения к серверу по SSH. Чтобы решить эту проблему, вам сначала нужно определить, почему система отказалась от вашего подключения через SSH.

Ниже вы найдете некоторые из наиболее распространенных причин, которые могут вызвать отказ в соединении SSH.

Клиент SSH не установлен

Прежде чем устранять другие проблемы, первым делом необходимо проверить, правильно ли установлен SSH. На машине, с которой вы получаете доступ к серверу, должен быть настроен клиент SSH. Без правильной настройки клиента вы не сможете подключиться к серверу.

Чтобы проверить, есть ли в вашей системе клиент SSH, введите в окне терминала следующее:

ssh

Если терминал предоставляет список параметров команды ssh, клиент SSH установлен в системе. Однако, если он ответит, что команда не найдена (command not found), вам необходимо установить клиент OpenSSH.

Решение: установить клиент SSH

Чтобы установить клиент SSH на свой компьютер, откройте терминал и выполните одну из команд, перечисленных ниже.

Для систем Ubuntu / Debian:

sudo apt установить openssh-client
sudo yum установить openssh-client

Демон SSH не установлен на сервере

Так же, как вам нужна клиентская версия SSH для доступа к удаленному серверу, вам нужна версия сервера для прослушивания и приема соединений. Таким образом, сервер может отклонить входящее соединение, если SSH-сервер отсутствует или настройка неверна.

Чтобы проверить, доступен ли SSH на удаленном сервере, выполните команду:

Если на выходе отображается «Connection refused», переходите к установке SSH на сервере.

Connection refused

Решение: установите SSH на удаленный сервер

Чтобы решить проблему отсутствия сервера SSH, установите сервер OpenSSH.

Учетные данные неверны

Опечатки или неправильные учетные данные — частые причины отказа в SSH-соединении. Убедитесь, что вы не ошиблись при вводе имени пользователя или пароля.

Затем проверьте, правильно ли вы используете IP-адрес сервера.

Наконец, убедитесь, что у вас открыт правильный порт SSH. Вы можете проверить, запустив:

grep Port /etc/ssh/sshd_config

На выходе отображается номер порта, как на картинке ниже.

grep Port /etc/ssh/sshd_config

Служба SSH не работает

Служба SSH должна быть включена и работать в фоновом режиме. Если служба не работает, демон SSH не может принимать соединения.

Чтобы проверить статус службы, введите эту команду:

Вывод должен ответить, что служба активна. Если терминал отвечает, что служба не работает, включите его, чтобы решить проблему.

sudo service ssh status

Решение: включить службу SSH

Если система показывает, что демон SSH не активен, вы можете запустить службу, выполнив:

Читайте также:  Linux команда service status all

Чтобы служба запускалась при загрузке, выполните команду:

sudo systemctl enable sshd

Брандмауэр препятствует подключению SSH

SSH может отклонить соединение из-за ограничений брандмауэра. Брандмауэр защищает сервер от потенциально опасных подключений. Однако, если в системе настроен SSH, необходимо настроить брандмауэр, чтобы разрешить SSH-соединения.

Убедитесь, что брандмауэр не блокирует SSH-соединения, так как это может вызвать ошибку «Connection refused».

Решение: разрешить SSH-подключения через брандмауэр

Чтобы решить проблему, о которой мы упоминали выше, вы можете использовать ufw (Uncomplicated Firewall — несложный брандмауэр), инструмент интерфейса командной строки для управления конфигурацией брандмауэра.

Введите следующую команду в окне терминала, чтобы разрешить SSH-соединения:

Порт SSH закрыт

Когда вы пытаетесь подключиться к удаленному серверу, SSH отправляет запрос на определенный порт. Чтобы принять этот запрос, на сервере должен быть открыт порт SSH.

Если порт закрыт, сервер отказывает в соединении.

По умолчанию SSH использует порт 22. Если вы не вносили никаких изменений в конфигурацию порта, вы можете проверить, прослушивает ли сервер входящие запросы.

Чтобы вывести список всех прослушивающих портов, запустите:

sudo lsof -i -n -P | grep LISTEN

Найдите порт 22 в выходных данных и проверьте, установлено ли для него STATE значение LISTEN .

Кроме того, вы можете проверить, открыт ли конкретный порт, в данном случае порт 22:

Решение: откройте порт SSH

Чтобы разрешить порту 22 слушать запросы, используйте команду iptables :

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Вы также можете открывать порты через графический интерфейс, изменив настройки брандмауэра.

Отладка и ведение журнала SSH

Чтобы проанализировать проблемы SSH в Linux, вы можете включить подробный режим или режим отладки. Когда вы включаете этот режим, SSH выдает отладочные сообщения, которые помогают устранять проблемы с подключением, конфигурацией и аутентификацией.

Существует три уровня детализации:

Поэтому вместо доступа к удаленному серверу с использованием синтаксиса ssh [server_ip] добавьте параметр -v и выполните:

ssh -v

В качестве альтернативы вы можете использовать:

Источник

How to Fix Connection Refused by Port 22 Debian/Ubuntu

SSH provides a secure channel to access Linux servers. Sometimes we come across the error Connection refused while connecting to SSH servers. There could be several reasons behind the error like the SSH service is inactive, the port is blocked by UFW firewall, the server is using a different port, or because of some IP conflict. Today, we will explore different ways we can resolve the Connection Refused issue on an Ubuntu/Debian system.

Verify OpenSSH Installation on Your Linux System

First, check if OpenSSH is installed on your system or not. The command mentioned below will verify it.

If OpenSSH is installed, you will see the following output on the terminal.

In case OpenSSH is not installed, we will install it by executing the following command:

Check SSH Service

Let’s now check what’s the status of the SSH service on our system. It should be active or in the running state. The reason why you are getting a connection refused error could be the inactive state of SSH on your system. Run the following command to check the status:

Читайте также:  Debian linux установка grub

The output tells us it is in the active (running state).

If your SSH service is inactive, you can start it by executing the following commands:

Check SSH Server Listening Port

Perhaps, you are connecting to the wrong port which is why you are getting a connection refused error. For example, the server is listening for a connection on port 1068 but you are trying to connect to port 22.

Before trying to connect, first, verify which port is being used by the SSH server to listen to new connections. If the server is listening on default port 22, then you can use the following command syntax to make a connection:

Issue the following command to check on which port the OpenSSH server is listening:

As we can see 22 port is in use by OpenSSH to listen to connections.

In case, some other port is being used in place of 22, you will issue the command like this:

Allow SSH in Firewall

A connection refused message could also be because the firewall on your system is blocking the SSH port. To allow the port through firewall, execute this command:

If a port other than 22 is being used, you will issue the command like this:

Once the rules are updated, you will get this output on the terminal:

Reload the firewall with this command to update the rules:

Now check the status of firewall to verify if the SSH port has been allowed or not.

You will see the following message if you are using port 2244 for SSH:

Resolve Duplicate IP Address Conflict

Another reason that may be causing this issue is a duplicate IP address. So, we need to verify if the system has a duplicate address or not. To do that, we need arping utility on our system. Install it using the following command:

Now, ping the server IP address using the command syntax below:

If you receive a reply from more than one MAC address, that means a duplicate IP address is running on the system. To resolve this issue, change the IP of the SSH server.

Conclusion

In today’s guide, we discussed several reasons that could be causing the Connection refused error and several ways to resolve this issue. This article will surely help you in troubleshooting the error.

About the author

Karim Buzdar

Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. He blogs at LinuxWays.

Источник

Оцените статью
Adblock
detector