---
title: "Dostęp SSH z poziomu Ruby do przestarzałych serwerów"
url: https://michalasobczak.pl/pl/posts/ssh-access-using-ruby-to-outdated-servers.html
author: "Michał Sobczak"
description: "Jeśli z jakichś nieznanych powodów musisz połączyć się przez SSH z przestarzałym serwerem z poziomu kodu Ruby, to jesteś we właściwym miejscu. Ale najpierw odrobina teorii. W OpenSSH są 4 konfigurowalne elementy dotyczące bezpieczeństwa: KexAlgorithms: klucze per połączenie (wymiana kluczy) HostkeyAlgorithms:"
published: 2022-10-24T13:14:07.000Z
updated: 2024-08-29T08:24:46.000Z
language: pl
categories: ["Security"]
tags: ["Ethical Hacking", "Ruby / Rails"]
license: CC BY-NC-ND 4.0 (https://creativecommons.org/licenses/by-nc-nd/4.0/)
---
# Dostęp SSH z poziomu Ruby do przestarzałych serwerów

Jeśli z jakichś nieznanych powodów musisz połączyć się przez SSH z przestarzałym serwerem z poziomu kodu Ruby, to jesteś we właściwym miejscu. Ale najpierw odrobina teorii. W OpenSSH są 4 konfigurowalne elementy dotyczące bezpieczeństwa:

-   KexAlgorithms: klucze per połączenie (wymiana kluczy)
-   HostkeyAlgorithms: klucz publiczny identyfikujący serwer wobec klientów
-   Ciphers: szyfrowanie połączenia
-   MACs: kody uwierzytelniania wiadomości

Z czasem różne algorytmy stają się przestarzałe i znane są ich podatności. Jednak w internecie i w sieciach prywatnych jest mnóstwo serwerów, które wciąż używają tych starych rozwiązań. Zwykłym klientem SSH, podobnie jak kodem klienta net-ssh w Ruby, nie połączysz się z takimi serwerami – zamiast tego dostaniesz komunikaty błędów, że nie można nawiązać połączenia.

**Jest na to rozwiązanie**.

Po pierwsze:

```ruby
:host_key => "+ssh-dss"
```

Następnie:

```ruby
append_all_supported_algorithm: true
```

Dzięki tym dwóm dodatkowym opcjom przekazywanym do metody `Net::SSH.start` połączysz się z większością działających serwerów. Wciąż istnieje pewna szansa, że trzeba będzie coś dostosować, np. w przypadku starego sprzętu Cisco, ale pokryjesz 99,99%. Mam nadzieję, że okaże się to przydatne – niezależnie od tego, czy próbujesz administrować swoim starym sprzętem sieciowym, czy po prostu bawisz się różnymi rzeczami…
