предыдущая глава | содержание | следующая глава
- 10.1 «The server’s host key is not cached in the registry»
- 10.2 «WARNING — POTENTIAL SECURITY BREACH!»
- 10.3 «SSH protocol version 2 required by our configuration but remote only provides (old, insecure) SSH-1»
- 10.4 «The first cipher supported by the server is … below the configured warning threshold»
- 10.5 «Remote side sent disconnect message type 2 (protocol error): «Too many authentication failures for root»»
- 10.6 «Out of memory»
- 10.7 «Internal error», «Internal fault», «Assertion failed»
- 10.8 «Unable to use key file», «Couldn’t load private key», «Couldn’t load this key»
- 10.9 «Server refused our key», «Server refused our public key», «Key refused»
- 10.10 «Access denied», «Authentication refused»
- 10.11 «No supported authentication methods available»
- 10.12 «Incorrect MAC received on packet» or «Incorrect CRC received on packet»
- 10.13 «Incoming packet was garbled on decryption»
- 10.14 «PuTTY X11 proxy: various errors»
- 10.15 «Network error: Software caused connection abort»
- 10.16 «Network error: Connection reset by peer»
- 10.17 «Network error: Connection refused»
- 10.18 «Network error: Connection timed out»
- 10.19 «Network error: Cannot assign requested address»
This chapter lists a number of common error messages which PuTTY and its associated tools can produce, and explains what they mean in more detail.
We do not attempt to list all error messages here: there are many which should never occur, and some which should be self-explanatory. If you get an error message which is not listed in this chapter and which you don’t understand, report it to us as a bug (see appendix B) and we will add documentation for it.
10.1 «The server’s host key is not cached in the registry»
This error message occurs when PuTTY connects to a new SSH server. Every server identifies itself by means of a host key; once PuTTY knows the host key for a server, it will be able to detect if a malicious attacker redirects your connection to another machine.
If you see this message, it means that PuTTY has not seen this host key before, and has no way of knowing whether it is correct or not. You should attempt to verify the host key by other means, such as asking the machine’s administrator.
If you see this message and you know that your installation of PuTTY has connected to the same server before, it may have been recently upgraded to SSH protocol version 2. SSH protocols 1 and 2 use separate host keys, so when you first use SSH-2 with a server you have only used SSH-1 with before, you will see this message again. You should verify the correctness of the key as before.
See section 2.2 for more information on host keys.
10.2 «WARNING — POTENTIAL SECURITY BREACH!»
This message, followed by «The server’s host key does not match the one PuTTY has cached in the registry», means that PuTTY has connected to the SSH server before, knows what its host key should be, but has found a different one.
This may mean that a malicious attacker has replaced your server with a different one, or has redirected your network connection to their own machine. On the other hand, it may simply mean that the administrator of your server has accidentally changed the key while upgrading the SSH software; this shouldn’t happen but it is unfortunately possible.
You should contact your server’s administrator and see whether they expect the host key to have changed. If so, verify the new host key in the same way as you would if it was new.
See section 2.2 for more information on host keys.
10.3 «SSH protocol version 2 required by our configuration but remote only provides (old, insecure) SSH-1»
By default, PuTTY only supports connecting to SSH servers that implement SSH protocol version 2. If you see this message, the server you’re trying to connect to only supports the older SSH-1 protocol.
If the server genuinely only supports SSH-1, then you need to either change the «SSH protocol version» setting (see section 4.19.4), or use the -1
command-line option; in any case, you should not treat the resulting connection as secure.
You might start seeing this message with new versions of PuTTY (from 0.68 onwards) where you didn’t before, because it used to be possible to configure PuTTY to automatically fall back from SSH-2 to SSH-1. This is no longer supported, to prevent the possibility of a downgrade attack.
10.4 «The first cipher supported by the server is … below the configured warning threshold»
This occurs when the SSH server does not offer any ciphers which you have configured PuTTY to consider strong enough. By default, PuTTY puts up this warning only for Blowfish, single-DES, and Arcfour encryption.
See section 4.22 for more information on this message.
(There are similar messages for other cryptographic primitives, such as host key algorithms.)
10.5 «Remote side sent disconnect message type 2 (protocol error): «Too many authentication failures for root»»
This message is produced by an OpenSSH (or Sun SSH) server if it receives more failed authentication attempts than it is willing to tolerate.
This can easily happen if you are using Pageant and have a large number of keys loaded into it, since these servers count each offer of a public key as an authentication attempt. This can be worked around by specifying the key that’s required for the authentication in the PuTTY configuration (see section 4.23.8); PuTTY will ignore any other keys Pageant may have, but will ask Pageant to do the authentication, so that you don’t have to type your passphrase.
On the server, this can be worked around by disabling public-key authentication or (for Sun SSH only) by increasing MaxAuthTries
in sshd_config
.
10.6 «Out of memory»
This occurs when PuTTY tries to allocate more memory than the system can give it. This may happen for genuine reasons: if the computer really has run out of memory, or if you have configured an extremely large number of lines of scrollback in your terminal. PuTTY is not able to recover from running out of memory; it will terminate immediately after giving this error.
However, this error can also occur when memory is not running out at all, because PuTTY receives data in the wrong format. In SSH-2 and also in SFTP, the server sends the length of each message before the message itself; so PuTTY will receive the length, try to allocate space for the message, and then receive the rest of the message. If the length PuTTY receives is garbage, it will try to allocate a ridiculous amount of memory, and will terminate with an «Out of memory» error.
This can happen in SSH-2, if PuTTY and the server have not enabled encryption in the same way (see question A.7.3 in the FAQ).
This can also happen in PSCP or PSFTP, if your login scripts on the server generate output: the client program will be expecting an SFTP message starting with a length, and if it receives some text from your login scripts instead it will try to interpret them as a message length. See question A.7.4 for details of this.
10.7 «Internal error», «Internal fault», «Assertion failed»
Any error beginning with the word «Internal» should never occur. If it does, there is a bug in PuTTY by definition; please see appendix B and report it to us.
Similarly, any error message starting with «Assertion failed» is a bug in PuTTY. Please report it to us, and include the exact text from the error message box.
10.8 «Unable to use key file», «Couldn’t load private key», «Couldn’t load this key»
Various forms of this error are printed in the PuTTY window, or written to the PuTTY Event Log (see section 3.1.3.1) when trying public-key authentication, or given by Pageant when trying to load a private key.
If you see one of these messages, it often indicates that you’ve tried to load a key of an inappropriate type into PuTTY, Plink, PSCP, PSFTP, or Pageant.
You may have tried to load an SSH-2 key in a «foreign» format (OpenSSH or ssh.com
) directly into one of the PuTTY tools, in which case you need to import it into PuTTY’s native format (*.PPK
) using PuTTYgen – see section 8.2.12.
Alternatively, you may have specified a key that’s inappropriate for the connection you’re making. The SSH-2 and the old SSH-1 protocols require different private key formats, and a SSH-1 key can’t be used for a SSH-2 connection (or vice versa).
10.9 «Server refused our key», «Server refused our public key», «Key refused»
Various forms of this error are printed in the PuTTY window, or written to the PuTTY Event Log (see section 3.1.3.1) when trying public-key authentication.
If you see one of these messages, it means that PuTTY has sent a public key to the server and offered to authenticate with it, and the server has refused to accept authentication. This usually means that the server is not configured to accept this key to authenticate this user.
This is almost certainly not a problem with PuTTY. If you see this type of message, the first thing you should do is check your server configuration carefully. Common errors include having the wrong permissions or ownership set on the public key or the user’s home directory on the server. Also, read the PuTTY Event Log; the server may have sent diagnostic messages explaining exactly what problem it had with your setup.
Section 8.3 has some hints on server-side public key setup.
10.10 «Access denied», «Authentication refused»
Various forms of this error are printed in the PuTTY window, or written to the PuTTY Event Log (see section 3.1.3.1) during authentication.
If you see one of these messages, it means that the server has refused all the forms of authentication PuTTY has tried and it has no further ideas.
It may be worth checking the Event Log for diagnostic messages from the server giving more detail.
This error can be caused by buggy SSH-1 servers that fail to cope with the various strategies we use for camouflaging passwords in transit. Upgrade your server, or use the workarounds described in section 4.28.11 and possibly section 4.28.12.
10.11 «No supported authentication methods available»
This error indicates that PuTTY has run out of ways to authenticate you to an SSH server. This may be because PuTTY has TIS or keyboard-interactive authentication disabled, in which case see section 4.23.4 and section 4.23.5.
10.12 «Incorrect MAC received on packet» or «Incorrect CRC received on packet»
This error occurs when PuTTY decrypts an SSH packet and its checksum is not correct. This probably means something has gone wrong in the encryption or decryption process. It’s difficult to tell from this error message whether the problem is in the client, in the server, or in between.
In particular, if the network is corrupting data at the TCP level, it may only be obvious with cryptographic protocols such as SSH, which explicitly check the integrity of the transferred data and complain loudly if the checks fail. Corruption of protocols without integrity protection (such as HTTP) will manifest in more subtle failures (such as misdisplayed text or images in a web browser) which may not be noticed.
Occasionally this has been caused by server bugs. An example is the bug described at section 4.28.8, although you’re very unlikely to encounter that one these days.
In this context MAC stands for Message Authentication Code. It’s a cryptographic term, and it has nothing at all to do with Ethernet MAC (Media Access Control) addresses, or with the Apple computer.
10.13 «Incoming packet was garbled on decryption»
This error occurs when PuTTY decrypts an SSH packet and the decrypted data makes no sense. This probably means something has gone wrong in the encryption or decryption process. It’s difficult to tell from this error message whether the problem is in the client, in the server, or in between.
If you get this error, one thing you could try would be to fiddle with the setting of «Miscomputes SSH-2 encryption keys» (see section 4.28.10) or «Ignores SSH-2 maximum packet size» (see section 4.28.5) on the Bugs panel.
10.14 «PuTTY X11 proxy: various errors»
This family of errors are reported when PuTTY is doing X forwarding. They are sent back to the X application running on the SSH server, which will usually report the error to the user.
When PuTTY enables X forwarding (see section 3.4) it creates a virtual X display running on the SSH server. This display requires authentication to connect to it (this is how PuTTY prevents other users on your server machine from connecting through the PuTTY proxy to your real X display). PuTTY also sends the server the details it needs to enable clients to connect, and the server should put this mechanism in place automatically, so your X applications should just work.
A common reason why people see one of these messages is because they used SSH to log in as one user (let’s say «fred»), and then used the Unix su
command to become another user (typically «root»). The original user, «fred», has access to the X authentication data provided by the SSH server, and can run X applications which are forwarded over the SSH connection. However, the second user («root») does not automatically have the authentication data passed on to it, so attempting to run an X application as that user often fails with this error.
If this happens, it is not a problem with PuTTY. You need to arrange for your X authentication data to be passed from the user you logged in as to the user you used su
to become. How you do this depends on your particular system; in fact many modern versions of su
do it automatically.
10.15 «Network error: Software caused connection abort»
This is a generic error produced by the Windows network code when it kills an established connection for some reason. For example, it might happen if you pull the network cable out of the back of an Ethernet-connected computer, or if Windows has any other similar reason to believe the entire network has become unreachable.
Windows also generates this error if it has given up on the machine at the other end of the connection ever responding to it. If the network between your client and server goes down and your client then tries to send some data, Windows will make several attempts to send the data and will then give up and kill the connection. In particular, this can occur even if you didn’t type anything, if you are using SSH-2 and PuTTY attempts a key re-exchange. (See section 4.20.2 for more about key re-exchange.)
(It can also occur if you are using keepalives in your connection. Other people have reported that keepalives fix this error for them. See section 4.14.1 for a discussion of the pros and cons of keepalives.)
We are not aware of any reason why this error might occur that would represent a bug in PuTTY. The problem is between you, your Windows system, your network and the remote system.
10.16 «Network error: Connection reset by peer»
This error occurs when the machines at each end of a network connection lose track of the state of the connection between them. For example, you might see it if your SSH server crashes, and manages to reboot fully before you next attempt to send data to it.
However, the most common reason to see this message is if you are connecting through a firewall or a NAT router which has timed the connection out. See question A.7.8 in the FAQ for more details. You may be able to improve the situation by using keepalives; see section 4.14.1 for details on this.
Note that Windows can produce this error in some circumstances without seeing a connection reset from the server, for instance if the connection to the network is lost.
10.17 «Network error: Connection refused»
This error means that the network connection PuTTY tried to make to your server was rejected by the server. Usually this happens because the server does not provide the service which PuTTY is trying to access.
Check that you are connecting with the correct protocol (SSH, Telnet or Rlogin), and check that the port number is correct. If that fails, consult the administrator of your server.
10.18 «Network error: Connection timed out»
This error means that the network connection PuTTY tried to make to your server received no response at all from the server. Usually this happens because the server machine is completely isolated from the network, or because it is turned off.
Check that you have correctly entered the host name or IP address of your server machine. If that fails, consult the administrator of your server.
Unix also generates this error when it tries to send data down a connection and contact with the server has been completely lost during a connection. (There is a delay of minutes before Unix gives up on receiving a reply from the server.) This can occur if you type things into PuTTY while the network is down, but it can also occur if PuTTY decides of its own accord to send data: due to a repeat key exchange in SSH-2 (see section 4.20.2) or due to keepalives (section 4.14.1).
10.19 «Network error: Cannot assign requested address»
This means that the operating system rejected the parameters of the network connection PuTTY tried to make, usually without actually trying to connect to anything, because they were simply invalid.
A common way to provoke this error is to accidentally try to connect to port 0, which is not a valid port number.
купил виртуальный хост, дали мне ip-адрес, логин и пароль, только подключится к нему немогу, сразу после нажатия появляется консоль и выскакивает ошибка — «PuTTY Fatal Error — Network error: Connection refused» как исправить? может кто-то сталкивался с таким и знайтет как решить
техподержка говорит что я неверно пароль ввожу, этого быть не может, все тщательно проявлял. Брандмауэр Защитника Windows отключал. Толку ноль!
OS: Windows 10,
Клиент: PuTTY
UPD:
через браузер заходит.
По SSH не работает. Подключится могу лишь через VPN или через 3G-интернет.
задан 18 ноя 2017 в 19:09
Kill NoiseKill Noise
1,2046 золотых знаков22 серебряных знака48 бронзовых знаков
17
Наиболее вероятную причину в лице хулиганящего провайдера уже указали, но можно собрать ещё чуть больше информации с помощью plink.exe
(входит в состав PuTTY):
- Откройте консоль cmd
- Выполните
plink -v ваш_хост
В ответ plink выдаст дополнительную информацию по используемому при подключении протоколу, что также позволит отсечь некоторые причины, типа устаревшего обмена ключами.
Пример подключения:
C:ProgramsPuTTY>plink -v <...>
Looking up host "<...>"
Connecting to <...> port 22
We claim version: SSH-2.0-PuTTY_Release_0.67
Server version: SSH-2.0-OpenSSH_7.5p1 Ubuntu-10
Using SSH protocol version 2
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-256
Host key fingerprint is:
ssh-rsa 2048 45:f8:02:48:a0:76:db:93:1a:a4:1a:70:ea:1f:5f:71
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 45:f8:02:48:a0:76:db:93:1a:a4:1a:70:ea:1f:5f:71
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n) n
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA-256 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA-256 server->client MAC algorithm
login as: Disconnected: No username provided
^C
ответ дан 27 ноя 2017 в 14:37
LythLyth
1,6501 золотой знак10 серебряных знаков18 бронзовых знаков
7
По большей видимости у Вас настроен Firewall на внешний интерфейс на сервере. Чтобы разрешить подключение к 22ому порту на Ubuntu (во многих версиях) достаточно выполнить команды:
$ sudo ufw allow 22
$ sudo ufw enable
Если же у Вас нету возможности выполнить или действия выше ни на что не повлияли, то Вам следует связаться с Вашим хостинг-провайдером для решения данной проблемы.
p.s. В таких случаях подключение может блокировать и провайдер, если ничего уж не помогает, то советую связаться с ним
ответ дан 22 ноя 2017 в 13:33
1
- Проверить
Ping
— доступен ли вообще сервер с вашего IP — Проверили — работает (непонятно только почему winMTR пишет no response) - Зайти в консоль управления сервером из браузера, проверить диапазоны IP адресов, с которых разрешен доступ к серверу. — web консоли управления виртуальным сервером, я так понимаю, нету (а то, что Apache2 на Ubuntu стоит — это очень хорошо — It works!)
- Если нет web консоли — связаться с провайдером у которого сервер покупали и выяснить, как они сами туда подключаются, поднят ли SSH, и с каких IP адресов доступно подключение по SSH (может быть еще что-то дополнительно в настройках нужно указать, вообще-то, для SSH нужен не только логин-пароль, а еще пара
.pem
ключей — один у вас — один на сервере). Проверили — SSH поднят, и.pem
ключи не нужны, т. к. с другого устройства подключение есть без них. Осталось проверить диапазоны IP адресов с которых доступно SSH подключение. Настроить их можно например с того же телефона.
ответ дан 27 ноя 2017 в 14:08
0
25 мая, 2017 11:40 дп
93 893 views
| Комментариев нет
Linux, SSH
В первой статье этой серии вы узнали о том, как и в каких ситуациях вы можете попробовать исправить ошибки SSH. Остальные статьи расскажут, как определить и устранить ошибки:
- Ошибки протокола: в этой статье вы узнаете, что делать, если сбрасываются клиентские соединения, клиент жалуется на шифрование или возникают проблемы с неизвестным или измененным удаленным хостом.
- Ошибки аутентификации: поможет устранить проблемы с парольной аутентификацией или сбросом SSH-ключей.
- Ошибки оболочки: это руководство поможет исправить ошибки ветвления процессов, валидации оболочки и доступа к домашнему каталогу.
Для взаимодействия SSH-клиента с SSH-сервером необходимо установить базовое сетевое подключение. Это руководство поможет определить некоторые общие ошибки подключения, исправить их и предотвратить их возникновение в будущем.
Требования
- Убедитесь, что можете подключиться к виртуальному серверу через консоль.
- Проверьте панель на предмет текущих проблем, влияющих на работу и состояние сервера и гипервизора.
Основные ошибки
Разрешение имени хоста
Большинство ошибок подключения возникает тогда, когда ссылка на хост SSH не может быть сопоставлена с сетевым адресом. Это почти всегда связано с DNS, но первопричина часто бывает не связана с DNS.
На клиенте OpenSSH эта команда:
ssh user@example.com
может выдать ошибку:
ssh: Could not resolve hostname example.com: Name or service not known
В PuTTY может появиться такая ошибка:
Unable to open connection to example.com Host does not exist
Чтобы устранить эту ошибку, можно попробовать следующее:
- Проверьте правильность написания имени хоста.
- Убедитесь, что вы можете разрешить имя хоста на клиентской машине с помощью команды ping. Обратитесь к сторонним сайтам (WhatsMyDns.net, например), чтобы подтвердить результаты.
Если у вас возникают проблемы с разрешением DNS на любом уровне, в качестве промежуточного решения можно использовать IP-адрес сервера, например:
ssh user@111.111.111.111
# вместо
ssh user@example.com.
Истечение времени соединения
Эта ошибка значит, что клиент попытался установить соединение с SSH-сервером, но сервер не смог ответить в течение заданного периода ожидания.
На клиенте OpenSSH следующая команда:
ssh user@111.111.111.111
выдаст такую ошибку:
ssh: connect to host 111.111.111.111 port 22: Connection timed out
В PuTTY ошибка выглядит так:
Network error: Connection timed out
Чтобы исправить ошибку:
- Убедитесь, что IP-адрес хоста указан правильно.
- Убедитесь, что сеть поддерживает подключение через используемый порт SSH. Некоторые публичные сети могут блокировать порт 22 или пользовательские SSH-порты. Чтобы проверить работу порта, можно, например, попробовать подключиться к другим хостам через этот же порт. Это поможет вам определить, не связана ли проблема с самим сервером.
- Проверьте правила брандмауэра. Убедитесь, что политика по умолчанию – не DROP.
Отказ в соединении
Эта ошибка означает, что запрос передается на хост SSH, но хост не может успешно принять запрос.
На клиенте OpenSSH следующая команда выдаст ошибку:
ssh user@111.111.111.111
ssh: connect to host 111.111.111.111 port 22: Connection refused
В PuTTY ошибка появится в диалоговом окне:
Network error: Connection refused
Эта ошибка имеет общие с ошибкой Connection Timeout причины. Чтобы исправить её, можно сделать следующее:
- Убедиться, что IP-адрес хоста указан правильно.
- Убедиться, что сеть поддерживает подключение через используемый порт SSH. Некоторые публичные сети могут блокировать порт 22 или пользовательские SSH-порты. Чтобы проверить работу порта, можно, например, попробовать подключиться к другим хостам через этот же порт.
- Проверить правила брандмауэра. Убедитесь, что политика по умолчанию – не DROP, и что брандмауэр не блокирует этот порт.
- Убедиться, что сервис запущен и привязан к требуемому порту.
Рекомендации по исправлению ошибок подключения
Брандмауэр
Иногда проблемы с подключением возникают из-за брандмауэра. Он может блокировать отдельные порты или сервисы.
Читайте также: Что такое брандмауэр и как он работает?
В разных дистрибутивах используются разные брандмауэры. Вы должны научиться изменять правила и политики своего брандмауэра. В Ubuntu обычно используется UFW, в CentOS – FirewallD. Брандмауэр iptables используется независимо от системы.
Читайте также:
- Основы UFW: общие правила и команды фаервола
- Настройка брандмауэра FirewallD в CentOS 7
- Основы Iptables: общие правила и команды брандмауэра
Чтобы настроить брандмауэр, нужно знать порт сервиса SSH. По умолчанию это порт 22.
Чтобы запросить список правил iptables, введите:
iptables -nL
Такой вывод сообщает, что правил, блокирующих SSH, нет:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Если в выводе вы видите правило или политику по умолчанию REJECT или DROP, убедитесь, что цепочка INPUT разрешает доступ к порту SSH.
Чтобы запросить список правил FirewallD, введите:
firewall-cmd --list-services
Список, появившийся на экране, содержит все сервисы, которые поддерживаются брандмауэром. В списке должно быть правило:
dhcpv6-client http ssh
Если вы настроили пользовательский порт SSH, используйте опцию –list-ports. Если вы создали пользовательское определение сервиса, добавьте опцию –list-services, чтобы найти SSH.
Чтобы проверить состояние UFW, введите:
ufw status
Команда вернёт доступные порты:
Status: active
To Action From
-- ------ ----
22 LIMIT Anywhere
443 ALLOW Anywhere
80 ALLOW Anywhere
Anywhere ALLOW 192.168.0.0
22 (v6) LIMIT Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
В списке должен быть порт SSH.
Проверка состояния сервиса SSH
Если вы не можете подключиться к серверу по SSH, убедитесь, что сервис SSH запущен. Способ сделать это зависит от операционной системы сервера. В более старых версиях дистрибутивов (Ubuntu 14.04, CentOS 6, Debian используется команда service. Современные дистрибутивы на основе Systemd используют команду systemctl.
Метод проверки состояния сервиса может варьироваться от системы к системе. В более старых версиях (Ubuntu 14 и ниже, CentOS 6, Debian 6) используется команда service, поддерживаемая системой инициализации Upstart, а в более современных дистрибутивах для управления сервисом используется команда systemctl.
Примечание: В дистрибутивах Red Hat (CentOS и Fedora) сервис называется sshd, а в Debian и Ubuntu – ssh.
В более старых версия используйте команду:
service ssh status
Если процесс работает должным образом, вы увидите вывод, который содержит PID:
ssh start/running, process 1262
Если сервис не работает, вы увидите:
ssh stop/waiting
В системах на основе SystemD используйте:
systemctl status sshd
В выводе должна быть строка active:
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Mon 2017-03-20 11:00:22 EDT; 1 months 1 days ago
Process: 899 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
Main PID: 906 (sshd)
CGroup: /system.slice/sshd.service
├─ 906 /usr/sbin/sshd -D
├─26941 sshd: [accepted]
└─26942 sshd: [net]
Если сервис не работает, вы увидите в выводе inactive:
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: inactive (dead) since Fri 2017-04-21 08:36:13 EDT; 2s ago
Process: 906 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
Process: 899 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
Main PID: 906 (code=exited, status=0/SUCCESS)
Чтобы перезапустить сервис, введите соответственно:
service ssh start
systemctl start sshd
Проверка порта SSH
Существует два основных способа проверить порт SSH: проверить конфигурационный файл SSH или просмотреть запущенный процесс.
Как правило, конфигурационный файл SSH хранится в /etc/ssh/sshd_config. Стандартный порт 22 может переопределяться любой строкой в этом файле, определяющей директиву Port.
Запустите поиск по файлу с помощью команды:
grep Port /etc/ssh/sshd_config
Читайте также: Использование Grep и регулярных выражений для поиска текстовых шаблонов в Linux
Команда вернёт:
Port 22
Если вы уже убедились, что сервис работает, теперь вы можете узнать, работает ли он на требуемом порте. Для этого используйте команду ss. Команда netstat –plnt выдаст аналогичный результат, но команду ss рекомендуется использовать для запроса информации сокета из ядра.
ss -plnt
В выводе должно быть указано имя программы и порт, который она прослушивает. Например, следующий вывод сообщает, что сервис SSH прослушивает все интерфейсы и порт 22.
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:* users:(("sshd",pid=1493,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=1493,fd=4))
Символ * и 0.0.0.0 указывает, что все интерфейсы сервера прослушиваются. Строка 127.0.0.1 значит, что сервис не является общедоступным. В sshd_config директива ListenAddress должна быть закомментирована, чтобы прослушивать все интерфейсы, или должна содержать внешний IP-адрес сервера.
Если у вас не получается самостоятельно настроить соединение SSH, вы можете обратиться за помощью к службе поддержки своего хостинг-провайдера.
Tags: firewalld, Iptables, OpenSSH, PuTTY, SSH, UFW
PuTTY is a free-to-use software used to connect to remote computers over a secure connection. It can be used to create a Secure Shell (SSH) between 2 devices, open a Terminal Over A Network (telnet) connection, and offer a few other options as…
PuTTY is a free-to-use software used to connect to remote computers over a secure connection. It can be used to create a Secure Shell (SSH) between 2 devices, open a Terminal Over A Network (telnet) connection, and offer a few other options as well. However, it can throw a few errors from time to time.
Today we are going to address a common fatal error that many users have experienced using the PuTTY software, which goes as follows:
Network Error: Connection Timed Out
A fatal error means the software throws an error without an intimation or warning without saving its state, and the user cannot perform any further actions.
An SSH connection can be established between a host (local) computer and a server (remote) device. This allows users to gain control of the remote device through a Command Line Interface (CLI) – which is very much similar to Remote Desktop Connection (RDC). The only difference is that the RDC has a Graphical User Interface (GUI).
Although SSH is mostly used to connect to devices having a CLI-based operating system (like Linux distros), it can also be used to connect to Windows computers as well.
A Windows 11/10 computer has a built-in SSH client and a server – meaning it can be used to connect to a remote PC using SSH, and it can be connected to as well. However, setting up the SSH server on a Windows computer needs some configuration, which we have discussed further down this post.
If you are an IT professional, then you must have used the PuTTY software at least once in your lifetime. Which is why you must understand that sometimes PuTTY displays this error message even when you have entered the correct information in it (which includes the IP address, the protocol, and the port number to be used).
Why “Connection Timed Out” Error Occurs
When the SSH protocol is establishing the connection between the 2 devices, the client sends out a message to the server, to which the server responds. However, if the client does not receive a reply after multiple attempts, the client prompts an error message stating “Connection timed out.”
Therefore, it can be concluded that PuTTY has been unsuccessful in establishing an SSH connection with the remote device. This can be due to several different reasons:
- The remote server’s IP address is inaccessible.
- The remote server’s firewall is blocking the respective SSH port.
- SSH and dependent services are disabled.
- Antivirus is blocking SSH traffic.
Let us now show you how to fix the problem so you can successfully connect to the remote device using the SSH protocol in PuTTY.
Fix PuTTY “Network Error: Connection Timed Out”
Confirm IP Access
To start with, confirm that the remote server is accessible from the client machine. This is most conveniently done by performing a ping test. Pinging the server from the client will ensure that the network connection between the 2 devices is valid.
Enter the following cmdlet in the Command Prompt while replacing IPAddress with the IP address of the remote PC you want to SSH.
ping IPAddress
If you find that the ping did not return a reply, this means that either the machine is not on the same network as yours, or the server’s firewall is up, which is blocking both the ping and the SSH connection.
Disable Windows Firewall
Windows firewall blocks most ports by default. Log into your server using the portal (or physically accessing the machine) and disable its firewall by performing these steps:
-
Open Windows Firewall by typing in firewall.cpl in the Run Command box.
Open firewall -
Now click Turn Windows Defender Firewall on or off from the left.
Manage Windows firewall -
Now select Turn off Windows Defender Firewall under every network profile visible. Once done, click OK to save the changes.
Turn off firewall
Now recheck if you can ping from the client machine. If yes, then retry the SSH connection and see if it works. If it still doesn’t, continue to perform the following solutions to mitigate the problem.
Check if SSH is Enabled
As we mentioned at the beginning of this post, an SSH server needs to be configured on a Windows PC before you can connect to it. Perform the following steps on the server to enable SSH:
-
Navigate to the following:
Settings app >> Apps >> Optional features
-
Here, click View features in front of “Add an optional feature.”
View optional features -
In the “Add an optional feature” window, search for “Open.” From the search results, select OpenSSH Server, and then click Next.
Select SSH feature -
In the next window, click Install.
Install SSH -
The feature will then be installed. When it does, you must manually enable the dependent services. Open the Services console by typing in services.msc in the Run Command box.
Open Services console -
Here, right-click OpenSSH SSH Server and click Properties from the context menu.
Open Properties -
In the Properties window, select “Startup type” as Automatic, then click Start to start the service. When it does, click Apply and Ok to save the changes.
Start service
Now that SSH is configured, you should be able to connect to this machine from the client PC using PuTTY.
If you still experience the same error, there are still a few more things you can do.
Disable Antivirus
The built-in Windows Defender Antivirus in Windows 11 and 10, or any other third-party antivirus, can cause hindrance in an SSH connection. Try disabling them and checking if it resolves the issue.
Learn how to disable Windows Defender temporarily. If you are using a third-party antivirus, you must disable it also.
Once disabled, check if you can successfully connect to the SSH server using PuTTY.
Conclusion
The “Network Error: Connection Timed Out” error in PuTTY occurs even before a user is asked to enter the credentials. Therefore, the error cannot be blamed on incorrect user account information. Thus, it is only possible that there is an issue with the connection itself.
If you are still unable to resolve the issue after performing all of the solutions above, then as a last resort, you can try rebooting the server as well as the client. This has often solved problems for many users, especially when certain responsible services are not behaving as they should. A system reboot usually fixes these things.
If this doesn’t work either, then it is likely that the default SSH port has been moved by someone. You can check the listening ports of a machine and find out which port is designated for SSH.
Резюмируя вышесказанное (и немного отсебятины) — открываем терминал и выполняем команды. На второй команде он может спросить пароль, это нормально, пробуем ввести свой. Если не подошёл, то ищем того, кто ставил убунту и дальше мучаем его
1. Проверяем, есть ли в процессах, собственно, сервер SSHps aux | grep ssh
Если видим в выводе только эту команду, ставим OpenSSHdsudo apt-get install openssh-server
Если написал, что is already the newest version, то пробуем запуститьsudo service ssh restart
ps aux | grep ssh
Если не появился, то вывод следующих команд в студию:cat /etc/ssh/sshd_config
tail -10 /var/log/syslog
2. Если в выводе ps aux есть что-то вроде /usr/sbin/sshd -D, тоsudo netstat -4nlp | grep sshd
Если там не 0.0.0.0:22, а, например 0.0.0.0:2222, то меняем порт в PuTTY на 2222 (а ещё можно исправить в sshd_config, но это потом)
Если всё ОК, то остался файерволлsudo iptables-save
и вывод в студию
Secure Shell (SSH) is a key WordPress development tool. It grants advanced users access to key platforms and software that make coding and other tasks easier, faster, and more organized.
So if you attempt to use SSH only to see a “Connection refused” error, you may start to feel concerned. However, this is a common issue, and it’s entirely possible to fix it on your own with just a bit of troubleshooting. You’ll be back to running commands in no time flat.
In this post, we’ll discuss what SSH is and when to use it. Then we’ll explain some common reasons your connection may be refused, including in PuTTY. Finally, we’ll provide some troubleshooting tips.
Let’s dive in!
Prefer to watch the video version?
What Is SSH and When Should I Use It?
Secure Shell (SSH), also sometimes called Secure Socket Shell, is a protocol for securely accessing your site’s server over an unsecured network. In other words, it’s a way to safely log in to your server remotely using your preferred command-line interface:
Unlike File Transfer Protocol (FTP), which only enables you to upload, delete, and edit files on your server, SSH can accomplish a wide range of tasks. For instance, if an error locks you out of your WordPress site, you can use SSH to access it remotely.
This protocol also enables you to use several key developer tools, including:
- WP-CLI. The WordPress command line. You can use it for a variety of tasks, including new installations, bulk plugin updates, and media file imports.
- Composer. A PHP package manager. It enables you to implement several frameworks for use in your site’s code by pulling the necessary libraries and dependencies.
- Git. A version control system used to track changes in code. This is especially useful for teams of developers working together on a single project.
- npm. A JavaScript package manager. It includes a command-line and JavaScript software registry. Note: Kinsta customers will need an Enterprise plan in order to access this feature.
It’s important to note that using SSH is an advanced skill. Generally speaking, lay users of WordPress should contact their developers or hosting providers for help, rather than trying to resolve issues with SSH themselves.
Why Is My SSH Connection Refused? (5 Reasons for Connectivity Errors)
Unfortunately, there are many scenarios that could occur while you’re trying to connect to your server via SSH, which might result in an error reading “Connection refused”.
Below are some of the most common issues that might be causing problems for you.
1. Your SSH Service Is Down
In order to connect to your server with SSH, it must be running an SSH daemon – a program that runs in the background to listen for and accept connections.
If this service is down, you will not be able to successfully connect to your server and may receive a Connection refused error:
Your server’s SSH daemon may be down for a wide variety of reasons, including unexpected traffic spikes, resource outages, or even a Distributed Denial of Service (DDoS) attack. In addition to the troubleshooting steps we’ll mention below, you may want to contact your hosting provider to determine the root cause of the issue.
If you suspect that your SSH service might be down, you can run this command to find out:
sudo service ssh status
If the command line returns a status of down, then you’ve likely found the reason behind your connectivity error.
2. You Have the Wrong Credentials
Although it may seem too simple to be true, it’s possible that you’re just entering the wrong credentials when trying to connect to your server. There are four pieces of information needed to run SSH:
- Host name. The IP address of the server you’re trying to connect to or your domain name.
- Username. Your (S)FTP username.
- Password. Your (S)FTP password.
- Port. The default port is 22. However, some hosting providers (including Kinsta) change their SSH port number for security reasons. If this is the case, you should be able to find it by logging in to your MyKinsta dashboard.
You can also check to see which port is being used for SSH by running this command:
grep Port /etc/ssh/sshd_config
The command line should return the correct port.
Check to make sure you’re entering the right credentials and taking into account the possibility of typos or entering the wrong IP address or port.
3. The Port You’re Trying to Use Is Closed
A “port” is simply the endpoint to which you’re directed when connecting to your server. In addition to making sure you have the correct one, you’ll also want to check to see if the port you’re trying to use is open.
Any open port is a security vulnerability, as hackers can try to exploit it and gain access to the server. For this reason, unused ports are often closed to prevent attacks.
In the event that port 22, or the custom SSH port for your server, has been closed, you will likely see a Connection refused error. You can see all the ports listening on your server by running this command:
sudo lsof -i -n -P | grep LISTEN
This command should return a list of ports with the LISTEN state. Ideally, you want to see port 22 or your server’s custom SSH port listed here. If it’s not, you’ll need to reopen the port in order to connect to your server.
4. SSH Isn’t Installed on Your Server
As we briefly mentioned earlier, servers use SSH daemons to listen for and accept connections. Therefore, if the server you’re trying to connect to doesn’t have one installed, you won’t be able to access it using SSH.
Generally speaking, almost all hosting providers will have SSH daemons installed on their servers by default. This particular issue is more common on localhost or dedicated servers.
5. Firewall Settings Are Preventing an SSH Connection
Since open ports present a security risk, firewalls installed to protect servers from hackers sometimes block connections to them. Unfortunately, this means that even harmless users who are trying to SSH into their servers may receive a Connection refused error as a result of firewall settings.
If your setup appears to be in order and you still can’t connect, take a look at your firewall’s rules. You can display them in your command-line interface with the following commands:
sudo iptables-save # display IPv4 rules
sudo ip6tables-save # display IPv6 rules
Your results will vary, but you’ll want to look for these elements to determine if your firewall is blocking SSH connections:
- dport 22: This refers to the destination port, which for SSH is usually port 22 (reminder: Kinsta doesn’t use this port number).
- REJECT: This would indicate that connections are being refused from the specified destination.
- DROP: Like REJECT, this means that connections to the relevant port are being blocked.
If you search the results of the commands above for dport 22, you should be able to determine if your firewall is preventing an SSH connection. If so, you’ll have to change the rules to accept requests.
Why Does PuTTY Say Connection Refused?
PuTTY is an SSH client. If you’re familiar with FTP, this platform is the FileZilla equivalent to SSH on Windows machines. In other words, PuTTY enables users to input their credentials and launch an SSH connection:
If you’re a PuTTY user and see the Connection refused error, the cause is likely one of those listed above.
This is an SSH connectivity error like any other, and the troubleshooting tips below should work whether you’re using PuTTY, Terminal, or any other program for connecting to your server with SSH.
We’ve taken our knowledge of effective website management at scale, and turned it into an ebook and video course. Click to download The Guide to Managing 60+ WordPress Sites!
How Do I Troubleshoot SSH Connectivity Errors?
When you’re experiencing an SSH connectivity error, there are a few steps you can take to troubleshoot it depending on the cause. Here are some tips for troubleshooting the reasons for a Connection refused error that we covered above:
- If your SSH service is down. Contact your hosting provider to see why your SSH service isn’t running. For localhost or dedicated servers, you can use the command
sudo service ssh restart
to try to get it running again. - If you entered the wrong credentials. Once you’ve double-checked the SSH port using the
grep Port /etc/ssh/sshd_config
command, try connecting again with the correct details. - If your SSH port is closed. This is usually a side effect of one of the two reasons listed below. Either install an SSH daemon on the server you want to connect to or change your firewall rules to accept connections to your SSH port.
- If SSH isn’t installed on your server. Install an SSH tool such as OpenSSH on the server you want to connect to using the
sudo apt install openssh-server
command. - If your firewall is blocking your SSH connection. Disable the firewall rules blocking your SSH connection by changing the destination port’s settings to ACCEPT.
If you’re attempting to connect to your hosting provider’s server, it may be wiser to contact support than to try troubleshooting the problem yourself. Users on localhost or dedicated servers may be able to find further support on more advanced forums if none of the above solutions works.
Are you getting the ‘Connection refused’ error over SSH? Learn why that’s happening and how to troubleshoot SSH connectivity errors thanks to this guide 🙅 ✋Click to Tweet
Summary
Being able to connect to your server with SSH is convenient in a wide range of situations. It can enable you to access your site when you’re locked out of your WordPress dashboard, run commands via WP-CLI, track changes in your site’s code with Git, and more.
Although there are several causes that could be behind your SSH connectivity error, these are a few of the most common:
- Your SSH service is down.
- You have the wrong credentials.
- The port you’re trying to use is closed.
- SSH isn’t installed on your server.
- Firewall settings are preventing an SSH connection.
“Hey, I’m unable to connect via PuTTY. How to fix this PuTTY fatal error?”
We often get support requests like this from server/VPS users as part of our white label technical support for Web, VPS, and Datacenter providers.
A PuTTY fatal error occurs when users are unable to access the server.
Today, we’ll go through the top 3 reasons for this error, and how we fix them.
What are the possible causes and fixes of PuTTY fatal error?
We have seen many reasons for connection refused error when connecting via SSH in PuTTY.
Today, we will discuss the top 3 reasons in detail.
- IP not enabled in the firewall
- Delay in DNS propagation
- Blacklisted IP
Read on to know more about these causes and how we fix them.
IP not enabled in the firewall
In Windows PCs, the firewall may block outgoing SSH connections.
To verify this, we ask the customer to disable the Windows firewall and retry connecting.
We recommend these steps for disabling the firewall.
- Click on Start and select Settings.
- Open Update and Security > Windows Security.
- Open Firewall and network protection.
- Select preferred network type and disable Windows Defender Firewall.
If the customer is able to connect successfully, then we ask them to add an SSH rule.
Our customers use the steps for adding the rule:
- On Start >> Administrative tools >> Windows Firewall with Advanced Security.
- Then, go to Outbound Rule >> New Rule
- Click on Custom and on the next page select All Programs.
- Now, at Protocol & Ports wizard. Select the protocol type to the Any and click next.
- Next, select any IP address option in “which local IP address does this rule apply to?“.
- Select these IP addresses option in “which remote IP address does this rule apply to?“.
- Click on the Add button and enter the IP Address and click OK and Next.
- Select Allow the connection option and click Next.
- On the Profile Page, select all three options. Domain, Private, and Public.
- Click Next Button.
- In the Last step, We need to provide the Name of this Rule.
- Click on the Finish button.
This should fix the problem.
Delay in DNS propagation
When you have modified the domain settings like pointing to a new name server or host, there might be some propagation delay.
Propagation delay depends on the TTL value. TTL (Time To Live) value is used to speed up the website load time by caching a copy of DNS records for a period of time, mostly up to 48 hours.
In some cases, after migration, there will be a delay to reflect the change due to a high TTL value. If so, the domain might still be pointing to the old IP causing connection refused error.
If your domain was recently migrated, you may need to check with your hosting provider to see if your DNS has not fully propagated.
At Bobcares to avoid such situations by keeping the TTL value to less than 5 mins.
Blacklisted IP
Most Linux servers will have security software such as Fail2Ban and LFD that detects repeated login failures and blocks the connecting IP. This is done to prevent brute force attacks.
There are cases where even legitimate users of the server are blocked by anti-brute force tools.
It happens when the Email tool, FTP tool, or SSH tool has the wrong login details saved in them, and the tool repeatedly tries to log in to the server resulting in repeated login failures.
So, one among the first things we do to investigate PuTTY errors is to check the firewall log to see if the customer’s IP is blocked, and why.
If so, we reset the login details for them, and remove the IP from the blacklist.
If you feel your IP may be blocked at the server, contact your hosting provider to get it delisted.
[Need assistance in fixing PuTTY Fatal Error? – We’ll help you]
Conclusion
Today we’ve seen how Firewall configuration, DNS propagation, and IP blacklisting can cause PuTTY fatal error, and how our Support Engineers help VPS/Server users fix it as part of our White label technical support services.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
GET STARTED
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;
-
Главная
-
Инструкции
-
Linux
-
Как исправить ошибку аутентификации SSH
Основные механизмы аутентификации пользователей при подключении через SSH — проверка пароля и сверка ключей. Их можно применять вместе или по отдельности, это настраивается в файле конфигурации SSH. Оба способа надежные, но иногда при их использовании можно столкнуться с ошибкой authentication failed. В этой статье разберемся, какие у этого сбоя могут быть причины и как их устранить.
В чем суть ошибки
У сообщения «authentication failed» перевод на русский предельно простой. Этот вывод в терминале говорит о том, что аутентификация пользователя не удалась.
Аутентификация — это проверка подлинности. Например, у вас есть сервер на cloud.timeweb.com. Вы настроили SSH для удаленного подключения. Чтобы система защиты вас пропустила, нужно пройти процедуру аутентификации – подтвердить, что это действительно вы.
Метод проверки подлинности закреплен в конфигурационном файле SSH. По умолчанию это аутентификация по паролю.
Другой вариант — использование пары SSH-ключей для проверки подлинности. В таком случае у пользователя на компьютере хранится закрытая часть ключа. На сервере располагается открытая часть. При попытке установить соединение эти части сравниваются. При совпадении доступ открывается. Если совпадения нет, появляется сообщение об ошибке — например, следующая ошибка SSH:
Permission denied (publickey)
Но причины появления ошибки не ограничиваются только неправильным паролем или не теми ключами. Сбой может возникать также из-за повреждения системных файлов или неверно выставленных прав доступа.
Ниже разберемся с наиболее частыми ситуациями.
Ошибка при использовании пароля
Обычно проблемы возникают из-за неверного имени пользователя или пароля. Также стоит обратить внимание на конфигурацию сервера — может стоять запрет на аутентификацию через пароль. Как это проверить:
- Откройте файл конфигурации на сервере. Он находится по пути /etc/ssh/sshd_config.
- Найдите строку PasswordAuthentication. По умолчанию у неё значение `yes`. Это значит, что проверка по паролю разрешена.
- Если в вашем файле конфигурации параметр PasswordAuthentication имеет значение `no`, то подключиться по паролю не получится. Чтобы исправить ситуацию, измените значение на `yes`.
С паролем связано и появление ошибки su authentication failure. Вернее, с отсутствием парольной проверки у пользователя root. Если при такой конфигурации выполнить команду `su` без параметров, то вернется ошибка. Чтобы ее устранить, достаточно назначить пользователю root парольную защиту.
Ошибка при использовании ключей
Одна из самых распространенных проблем — использование не тех ключей при установке соединения. Часто это происходит, если с одного компьютера приходится подключаться к разным хостам. Самый простой способ не запутаться — давать понятные названия с указанием на то, для каких целей вы используете файлы аутентификации.
Использование большого количества ключей без явного указания нужного приводит еще к одной ошибке:
Too many authentication failures for user
Причина сбоя — превышение числа попыток. Это случается из-за того, что SSH-клиент пытается подключиться к хосту, используя все доступные ключи. Исправить ситуацию можно с помощью опций IdentitiesOnly и IdentityFile. Пример запроса на подключение:
ssh -o IdentitiesOnly=yes
-o IdentityFile=id1.key
user@example.com
Чтобы каждый раз не прописывать это в командной строке при подключении, можно указать необходимую настройку в конфигурационном файле SSH ~/.ssh/config. Пример такой настройки:
Host 192.168.3.44
IdentityFile ~/.ssh/id_rsa
Host *
IdentitiesOnly=yes
В этом случае SSH будет использовать только идентификаторы, указанные в файлах ssh_config, плюс идентификатор, указанный в командной строке. Идентификаторы, предоставленные агентом, будут игнорироваться.
При использовании ssh-ключей может возникнуть еще одна ошибка:
Permission denied (publickey, password)
Ее причиной может быть ввод неверной ключевой фразы.
Если вы потеряете ключевую фразу, восстановить ее будет невозможно. Вам нужно будет сгенерировать новую пару значений для Secure Shell.
Восстановление открытого ключа
Если у вас есть закрытый ключ, но вы потеряли открытую часть, то эту проблему можно решить стандартными средствами OpenSSH.
Самый просто способ — использовать утилиту ssh-keygen.
Запустите терминал и выполните команду:
ssh-keygen -y -f ~/.ssh/id_rsa
Здесь ~/.ssh/id_rsa — это путь к закрытому части, которая хранится на компьютере. В ответ вы получите последовательность символов. Это и есть открытая часть, которую необходимо добавить на сервер.
В среде Windows решить ту же задачу можно с помощью утилиты PuTTYgen, которая входит в набор PuTTY. В ней есть кнопка Load, через которую вы можете загрузить закрытый ключ. Для этого нужно лишь знать директорию, в которой он хранится на компьютере.
После импорта вы увидите окно с полем `Public key for…`. В нём отобразится открытая часть, которую можно скопировать и отправить на сервер.
Восстановить закрытую часть по открытой нельзя — это противоречит основам безопасности.
На что еще обратить внимание
У понятия «authentication failed» перевод дает весьма общее представление о причине сбоя. Проблема может крыться не только в пароле или ключах. Значение имеют также выставленные права доступа и алгоритмы шифрования.
Неправильная конфигурация клиента
Распространенная ошибка — использование клиента SSH/SFTP (SSH, PuTTY, Filezilla) без правильной настройки всех необходимых параметров, таких как хост, порт, имя пользователя или закрытый ключ.
Другая частая проблема возникает, когда вы используете неподдерживаемый сертификат. Например, пытаетесь добавить в PuTTY файл ключа *.pem вместо файла ключа *.ppk.
Противоречия в файле конфигурации
Убедитесь, что в файле /etc/ssh/sshd_config установлены параметры, которые не противоречат друг другу. Такое может быть, например, при отключении парольной проверки или запрете на подключение для пользователя root.
Распространенный пример конфликта: у параметра PasswordAuthentication установлено значение `yes`, а у параметра PermitRootLogin — значение `no` или `without-password`. Из-за этого сервер не понимает, как проверять пользователей, и не пускает никого.
Настройка прав доступа
У OpenSSH строгие правила к тому, кто должен быть владельцем файлов и какие на них должны быть выставлены права доступа.
Убедитесь, что на сервере выставлены следующие доступы:
- ~./ssh – 700.
- ~./ssh принадлежит текущему аккаунту.
- ~/.ssh/authorized_keys – 600.
- ~/.ssh/authorized_keys принадлежит текущему аккаунту.
На клиенте также проверьте разрешения следующих файлов:
- ~ / .ssh / config – 600.
- ~ / .ssh / id_ * – 600.
Почему важен владелец? Например, вы настраивали доступ через Secure Shell от имени одного пользователя, а затем пытаетесь подключиться под другим аккаунтом, у которого нет прав даже на чтение содержимого защищенных директорий с аутентификационными данными.
Использование устаревших алгоритмов
В OpenSSH начиная с седьмой версии не поддерживаются старые ключи, которые используют алгоритм цифровой подписи — DSA. Ключи ssh-dss считаются слишком слабыми для того, чтобы можно было доверять им защиту подключения к серверу.
Если у вас старые ключи, оптимальное решение — сгенерировать и добавить на хосты новые, которые основаны на более стойких алгоритмах.
Есть и альтернатива, но пользоваться ей придется на свой страх и риск. Речь идет об изменении файла конфигурации /etc/ssh/sshd_config. Если установить параметру PubkeyAcceptedKeyTypes значение `+ssh-dss`, то можно будет использовать ключи, сгенерированные с помощью устаревшего алгоритма цифровой подписи.
Дополнительные опции могут понадобиться и на SSH-клиенте. Например, при подключении к серверу с ПО, которое давно не обновлялось. В частности, такие проблемы возникают при подключении к хостам на CentOS 6, поддержка которой прекращена в конце 2020 года. Чтобы исправить эту ошибку, необходимо добавить опцию `-oHostKeyAlgorithms=+ssh-dss`:
ssh -oHostKeyAlgorithms=+ssh-dss user@legacyhost
Ошибки на сторонних сервисах
Проблемы аутентификации могут возникать и при использовании сторонних сервисов. Например, при подключении к VK API пользователи сталкиваются с сообщением user authorization failed invalid session
. Устранить такой сбой самостоятельно не получится — нужно обращаться в поддержку.
Заключение
Причина ошибки аутентификации может быть как на стороне клиента, так и на стороне сервера. Начинайте диагностику с самого простого: проверьте правильность имени пользователя и пароля, если он используется, выбор SSH-ключа в агенте. Если это не помогает устранить сбой, проверьте конфигурацию подключения и права доступа к файлам, которые OpenSSH использует для проверки подлинности пользователей.
PuTTy — это бесплатное терминальное приложение с открытым исходным кодом, позволяющее системному администратору входить на удаленный сервер через SSH. Это небольшое, но очень стабильное приложение также используется для безопасной передачи файлов через SCP и SFTP.
Если вы работаете в сфере ИТ или у вас есть собственный набор серверов, которые необходимо подключить, PuTTy не является для вас чуждой концепцией. Однако, что может быть чуждым понятием, так это фатальная ошибка Putty.
Ошибка «Ошибка сети: соединение отказано» является одной из распространенных ошибок, связанных с PuTTY, с которыми вы можете столкнуться при работе с Putty. Ошибка появляется, когда вы пытаетесь подключиться к удаленному серверу в первый раз или в сотый раз.
У меня были проблемы с PuTTy, но в большинстве случаев ошибки вызваны небольшими, но не столь очевидными проблемами.
Если вы один из тех, кто пытается диагностировать ошибку «отказано в соединении», эта статья поможет вам устранить ошибку.
В этой статье я перечислил все возможные решения проблемы отказа в соединении PuTTy. Обязательно попробуйте каждый из них, пока проблема не будет решена.
Что вызывает ошибку сети: ошибка соединения отклонена?
Ошибка может возникнуть по нескольким причинам. Некоторые из них перечислены ниже.
- Пользователи могут столкнуться с ошибкой «Ошибка сети: соединение отказано»:
- Если приложение пытается получить доступ к службам, которые не предлагаются / не поддерживаются сервером
- Если приложение пытается подключиться к серверу telnet, который не поддерживается сервером.
- Если ваш маршрутизатор блокирует соединение по соображениям безопасности.
- Если сервер не поддерживает порт по умолчанию, используемый системным администратором в PuTTy.
Вот некоторые из распространенных причин сетевых ошибок: ошибка соединения в PuTTy. Ниже приведены некоторые общие решения, которые вы можете попытаться исправить.
Как я могу исправить ошибку сети: ошибка соединения отклонена?
Исправление 1: обратитесь к системному / сетевому администратору
Если вы не являетесь системным администратором, лучше начать с обращения к системному администратору.
Системные администраторы могут изменить некоторые разрешения в маршрутизаторе, если они замечают какое-либо неизвестное устройство, пытающееся подключиться, или по другим причинам безопасности время от времени.
Если это так, вы можете легко решить проблему, связавшись с системным администратором, прежде чем пытаться решить проблему с вашей стороны.
- Также прочитайте: NetCrunch Tools для Windows помогает сетевым администраторам выполнять повседневные задачи
Исправление 2: проверьте, включено ли соединение SSH
В зависимости от устройства, которое вы пытаетесь подключить, ошибка сети — ошибка отказа в соединении может появиться, если в настройках устройства отключен SSH.
Например, если вы используете Raspberry Pi для подключения через ПК, убедитесь, что в конфигурации включен ssh. Вот как это сделать.
В Raspberry Pi выберите Конфигурация> Интерфейсы> ssh. Включите службу и попробуйте снова.
Настройки могут меняться в зависимости от используемого вами устройства, но конечным результатом должно быть работающее сетевое соединение через PuTTy.
Исправление 3: проверьте, указывает ли ваш домен записи на сервер
Если вы работаете с новым сервером и новым доменом, ошибка может возникнуть из-за неправильного адреса DNS-сервера в настройках домена. Весь регистратор доменов позволяет вам указать свой домен любому стороннему хостинг-провайдеру, используя сервер имен.
Если вы только установили сервер и не изменили сервер имен, вы можете столкнуться с сетевой ошибкой: ошибка соединения отклонена.
Чтобы решить эту проблему, войдите в систему вашего поставщика доменных имен и проверьте настройки сервера имен, чтобы увидеть, указывают ли серверы имен на вашего хостинг-провайдера.
- Также читайте: Как присоединиться к домену в Windows 10, 8.1
Исправление 4: проверка наличия черного и белого списка IP-адресов на сервере
По соображениям безопасности системный администратор может разрешить подключение только с компьютеров с известным IP-адресом, которые уже внесены в белый список в файле конфигурации.
Если ваш IP-адрес интернет-провайдера изменился или вы новичок в работе, вам, вероятно, нужно попросить администратора сети сделать исключение.
То же самое может случиться и в том случае, если ваш IP-адрес случайно попал в черный список администратора сети.
Итак, обратитесь к сетевому администратору для обоих сценариев и посмотрите, может ли это помочь вам решить проблему.
Исправление 5: отключить брандмауэр
Если вы используете Windows, ваш антивирус или брандмауэр Windows Security по умолчанию и функция защиты сети могут блокировать входящее соединение, в результате чего в соединении отказано.
Попробуйте временно отключить брандмауэр, чтобы выяснить, может ли это устранить ошибку «отказано в соединении». Если это произойдет, вам может понадобиться настроить параметры брандмауэра, чтобы полностью исправить ошибку.
Отключить брандмауэр в Windows Security
- Нажмите на Пуск и выберите Настройки.
- Откройте « Обновление и безопасность»> «Безопасность Windows».
- Открытый брандмауэр и защита сети .
- Выберите предпочитаемый тип сети (публичная, частная или доменная сеть) и отключите брандмауэр Защитника Windows .
Отключить антивирусный брандмауэр
Если у вас запущена сторонняя антивирусная программа, вам также может потребоваться отключить брандмауэр, предлагаемый приложением. Вы можете отключить брандмауэр в настройках антивируса.
Попробуйте подключиться, используя PuTTy сейчас. Если соединение установлено, вам нужно настроить параметры брандмауэра, чтобы устранить проблему.
- Читайте также: 15 лучших брандмауэров для защиты домашней сети
Другие исправления
Если ни одно из исправлений не помогло вам, вы можете попробовать перезапустить сервер SSH или перезагрузить серверы.
Если ваш сервер был настроен кем-то другим, возможно, он переместил порт по умолчанию в соответствии с их удобством. Свяжитесь и попросите узлы конфигурации, чтобы получить лучшее представление о портах.
Если вы используете полностью управляемый сервер, обратитесь в службу поддержки. Если проблема возникла со стороны хостинг-провайдера, системный администратор исправит проблему.
И последнее, но не менее важное: начните использовать другие альтернативы Putty, такие как другие терминалы SH, которые могут помочь вам в случае возникновения ошибки, характерной для PuTTY.
Заключение
Ошибка Putty Fatal «Ошибка сети: ошибка в соединении отклонена» может произойти по нескольким причинам, и я попытался перечислить наиболее распространенные проблемы и способы их устранения.
Однако, если исправления, перечисленные в этой статье, не работают, вы можете задать вопрос на форумах, связанных с вашим устройством или ОС, на которых появляется ошибка.
Позвольте нам сейчас, если какие-либо исправления сработали для вас, или если у вас есть решение, которое не указано в статье в комментариях ниже.