удалённый SSH

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: удалённый SSH

Непрочитанное сообщение Olej » 23 янв 2023, 11:18

Несколько интересных заметок про разные способы использования SSH:
Памятка пользователям ssh
Socks-proxy
Когда я оказываюсь в очередной гостинице (кафе, конференции), то местный wifi чаще всего оказывается ужасным — закрытые порты, неизвестно какой уровень безопасности. Да и доверия к чужим точкам доступа не особо много (это не паранойя, я вполне наблюдал как уводят пароли и куки с помощью банального ноутбука, раздающего 3G всем желающим с названием близлежащей кафешки (и пишущего интересное в процессе)).
SOCKS через SSH — не только для ICQ
Практические советы, примеры и туннели SSH
1. SSH socks-прокси
...
У некоторых приложений есть параметры конфигурации для активации прокси-сервера. Другим нужно немного помочь вспомогательной программой. Например, proxychains позволяет запустить через socks-прокси Microsoft RDP и др.

Код: Выделить всё

localhost:~$ proxychains rdesktop $RemoteWindowsServer
Параметры конфигурации socks-прокси задаются в файле конфигурации proxychains.
Как понятно из цитат, меня в этой части больше всего интересует SOCKS проксирование.
И интерес здесь - общий, для всех, это вопрос обеспечения безопасности в небезопасной среде (публичные WiFi например).

P.S. SOCKS проксирование - это, в отличие от HTTP прокси, проксирование на TCP (и UDP если нужно) уровне, у нас есть об этом специальная тема даже: программирование SOCKS5 обмена.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый SSH

Непрочитанное сообщение Olej » 06 июн 2023, 19:01

Olej писал(а):
23 янв 2023, 11:18
Несколько интересных заметок про разные способы использования SSH:
Инересная история с SSH ... настолько интересная, что её нужно зафиксировать на память :-D

Подключаясь (пытаясь) в LAN к аппаратному роутеру ... получил такое любопытное сообщение, которое никогда не видел :-o

Код: Выделить всё

olej@R420:~$ ssh fe80::e6c3:2aff:fe46:ab96%eno2
Unable to negotiate with fe80::e6c3:2aff:fe46:ab96%eno2 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
Поиск подсказал Как победить no matching key exchange method found
26.07.2019

Код: Выделить всё

olej@R420:~$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 olej@fe80::e6c3:2aff:fe46:ab96%eno2
Unable to negotiate with fe80::e6c3:2aff:fe46:ab96%eno2 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

Код: Выделить всё

olej@R420:~$ ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com

Код: Выделить всё

olej@R420:~$ ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group1-sha1 olej@fe80::e6c3:2aff:fe46:ab96%eno2
Unable to negotiate with fe80::e6c3:2aff:fe46:ab96%eno2 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Пока облом... :oops:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый SSH

Непрочитанное сообщение Olej » 06 июн 2023, 19:05

Olej писал(а):
06 июн 2023, 19:01
Пока облом...
Поиск подсказал: Тип ключа ssh
Д. С. Кулябов
2022-11-02
При подключении по ssh получаю сообщение no matching host key type found. Their offer: ssh-rsa,ssh-dss.
...

- После перехода на openssh-8.8 при подключении к серверам со старыми версиями системы появляется сообщение типа: no matching host key type found. Their offer: ssh-rsa,ssh-dss.
- Старый ssh поддерживал механизмы ssh-rsa и ssh-dss, а в новой версии их отключили.

Код: Выделить всё

olej@R420:~/2023/MY.LAN$ ssh -V
OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022

Код: Выделить всё

olej@R420:~$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa admin@fe80::e6c3:2aff:fe46:ab96%eno2
The authenticity of host 'fe80::e6c3:2aff:fe46:ab96%eno2 (fe80::e6c3:2aff:fe46:ab96%eno2)' can't be established.
RSA key fingerprint is SHA256:Ao8PnkSnbf+H6D8Wv/syU1qAmdlvAodJvhk7gJxjubU.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:68: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'fe80::e6c3:2aff:fe46:ab96%eno2' (RSA) to the list of known hosts.
admin@fe80::e6c3:2aff:fe46:ab96%eno2's password: 
PTY allocation request failed on channel 0
shell request failed on channel 0
То что он не создал терминальную сессию это не важно ... он на то не сконфигурирован :-x
Важно то, что он создал сессию SSH, подконнектился :!:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый SSH

Непрочитанное сообщение Olej » 06 июн 2023, 19:24

Olej писал(а):
06 июн 2023, 19:05
Важно то, что он создал сессию SSH, подконнектился
Если кого заинтересует как это происходит - вот лог с отладкой:

Код: Выделить всё

olej@R420:~$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa admin@fe80::e6c3:2aff:fe46:ab96%eno2 -v
OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /home/olej/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to fe80::e6c3:2aff:fe46:ab96%eno2 [fe80::e6c3:2aff:fe46:ab96%eno2] port 22.
debug1: Connection established.
debug1: identity file /home/olej/.ssh/id_rsa type 0
debug1: identity file /home/olej/.ssh/id_rsa-cert type -1
debug1: identity file /home/olej/.ssh/id_ecdsa type -1
debug1: identity file /home/olej/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/olej/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/olej/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/olej/.ssh/id_ed25519 type 3
debug1: identity file /home/olej/.ssh/id_ed25519-cert type -1
debug1: identity file /home/olej/.ssh/id_ed25519_sk type -1
debug1: identity file /home/olej/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/olej/.ssh/id_xmss type -1
debug1: identity file /home/olej/.ssh/id_xmss-cert type -1
debug1: identity file /home/olej/.ssh/id_dsa type -1
debug1: identity file /home/olej/.ssh/id_dsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.1
debug1: Remote protocol version 2.0, remote software version dropbear_2011.54
debug1: compat_banner: no match: dropbear_2011.54
debug1: Authenticating to fe80::e6c3:2aff:fe46:ab96%eno2:22 as 'admin'
debug1: load_hostkeys: fopen /home/olej/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group1-sha1
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: hmac-sha1 compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: hmac-sha1 compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-rsa SHA256:Ao8PnkSnbf+H6D8Wv/syU1qAmdlvAodJvhk7gJxjubU
debug1: load_hostkeys: fopen /home/olej/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host 'fe80::e6c3:2aff:fe46:ab96%eno2' is known and matches the RSA host key.
debug1: Found key in /home/olej/.ssh/known_hosts:69
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 4294967296 blocks
debug1: get_agent_identities: bound agent to hostkey
debug1: get_agent_identities: agent returned 2 keys
debug1: Will attempt key: /home/olej/.ssh/id_rsa RSA SHA256:v2vz9R9VSeFa/nc/nWlrcn59+PJ17I4M0JoQsiFaIOY agent
debug1: Will attempt key: /home/olej/.ssh/id_ed25519 ED25519 SHA256:bfhOSGz8q49eW06Ees85AxBrslbNYj3uNGc64bxRypM agent
debug1: Will attempt key: /home/olej/.ssh/id_ecdsa 
debug1: Will attempt key: /home/olej/.ssh/id_ecdsa_sk 
debug1: Will attempt key: /home/olej/.ssh/id_ed25519_sk 
debug1: Will attempt key: /home/olej/.ssh/id_xmss 
debug1: Will attempt key: /home/olej/.ssh/id_dsa 
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/olej/.ssh/id_rsa RSA SHA256:v2vz9R9VSeFa/nc/nWlrcn59+PJ17I4M0JoQsiFaIOY agent
debug1: send_pubkey_test: no mutual signature algorithm
debug1: Offering public key: /home/olej/.ssh/id_ed25519 ED25519 SHA256:bfhOSGz8q49eW06Ees85AxBrslbNYj3uNGc64bxRypM agent
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/olej/.ssh/id_ecdsa
debug1: Trying private key: /home/olej/.ssh/id_ecdsa_sk
debug1: Trying private key: /home/olej/.ssh/id_ed25519_sk
debug1: Trying private key: /home/olej/.ssh/id_xmss
debug1: Trying private key: /home/olej/.ssh/id_dsa
debug1: Next authentication method: password
admin@fe80::e6c3:2aff:fe46:ab96%eno2's password: 
Authenticated to fe80::e6c3:2aff:fe46:ab96%eno2 ([fe80::e6c3:2aff:fe46:ab96%eno2]:22) using "password".
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: pledge: filesystem
debug1: Sending environment.
debug1: channel 0: setting env LC_ADDRESS = "ru_UA.UTF-8"
debug1: channel 0: setting env LC_NAME = "ru_UA.UTF-8"
debug1: channel 0: setting env LC_MONETARY = "ru_UA.UTF-8"
debug1: channel 0: setting env LC_PAPER = "ru_UA.UTF-8"
debug1: channel 0: setting env LANG = "ru_UA.UTF-8"
debug1: channel 0: setting env LC_IDENTIFICATION = "ru_UA.UTF-8"
debug1: channel 0: setting env LC_TELEPHONE = "ru_UA.UTF-8"
debug1: channel 0: setting env LC_MEASUREMENT = "ru_UA.UTF-8"
debug1: channel 0: setting env LC_TIME = "ru_UA.UTF-8"
debug1: channel 0: setting env LC_NUMERIC = "ru_UA.UTF-8"
PTY allocation request failed on channel 0
shell request failed on channel 0
Точно то же самое можно проделать и с IPv4 - разницы нет :!:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый SSH

Непрочитанное сообщение Olej » 12 дек 2023, 02:26

Olej писал(а):
19 июл 2019, 16:28
Q: Хочу в удалённой сессии запускать графические GUI программы, с отображением окон на моём X-сервере.
Q: Как запустить удалённо GUI-программу, требующую sudo :?: Самый классический пример - это инсталлятор synaptic или любой другой...
A: Фокус здесь в том, что:
- он графического окно запроса пароля не прокинет (там что-то не X11)...
- а если сделать в терминале SSH прежде sudo -i, то он не сможет открыть DISPLAY для такой сессии
- остаётся единственный вариант: открывать ssh -Y сессию от имени root...
- но для этого нужно сначала разрешить подключения SSH от root на удалённом (управляемом) хосте.
Для этого на удалённом хосте правим /etc/ssh/sshd_config (в SSH сессии от ординарного пользователя + его sudo):
- было та:

Код: Выделить всё

root@nvme:/etc/ssh# grep PermitRootLogin sshd_config 
#PermitRootLogin prohibit-password
# the setting of "PermitRootLogin prohibit-password".

- стало так (изменил 1 строчку):

Код: Выделить всё

root@nvme:/etc/ssh# grep PermitRootLogin sshd_config 
#PermitRootLogin prohibit-password
PermitRootLogin yes
# the setting of "PermitRootLogin prohibit-password".
Перезагрузить сервер:

Код: Выделить всё

root@nvme:/etc/ssh# systemctl restart sshd

Код: Выделить всё

root@nvme:/etc/ssh# systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; preset: enabled)
     Active: active (running) since Tue 2023-12-12 01:07:50 EET; 9s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 10233 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 10234 (sshd)
      Tasks: 1 (limit: 18925)
     Memory: 1.4M
        CPU: 23ms
     CGroup: /system.slice/ssh.service
             └─10234 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

дек 12 01:07:50 nvme systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
дек 12 01:07:50 nvme sshd[10234]: Server listening on 0.0.0.0 port 22.
дек 12 01:07:50 nvme sshd[10234]: Server listening on :: port 22.
дек 12 01:07:50 nvme systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
Можно подключаться...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый SSH

Непрочитанное сообщение Olej » 12 дек 2023, 02:31

Olej писал(а):
12 дек 2023, 02:26
Можно подключаться...

Код: Выделить всё

olej@R420:~$ ssh -Y root@192.168.1.241
root@192.168.1.241's password: 
Linux nvme 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/bin/xauth:  file /root/.Xauthority does not exist
И запускаю менеджер пакетов ... это дистрибутив :

Код: Выделить всё

olej@nvme:/etc/apt/sources.list.d$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	LMDE 6 (faye)
Release:	6
Codename:	faye

Код: Выделить всё

root@nvme:~# mintupdate
...
Там он много станет писать в текстовом терминале ... про Gtk и всякое разное ... - но это неинтересно.
Интересно - это работа с менеджером пакетов на изрядно удалённом компьютере:
Снимок экрана от 2023-12-12 01-09-25.png
Снимок экрана от 2023-12-12 01-09-25.png (81.48 КБ) 114 просмотров
Снимок экрана от 2023-12-12 01-09-49.png
Снимок экрана от 2023-12-12 01-09-49.png (100.14 КБ) 114 просмотров
Поменяю источники пакетов (репозитории) ... тут очень важно что анализируются скорость и доступность их именно из местоположения "подопытного":
Снимок экрана от 2023-12-12 01-11-06.png
Снимок экрана от 2023-12-12 01-11-06.png (61.16 КБ) 114 просмотров
Дальше проверить обновления и их применить:
Снимок экрана от 2023-12-12 01-12-37.png
Снимок экрана от 2023-12-12 01-12-37.png (92.38 КБ) 114 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый SSH

Непрочитанное сообщение Olej » 12 дек 2023, 02:51

Olej писал(а):
12 дек 2023, 02:31
Поменяю источники пакетов (репозитории) ... тут очень важно что анализируются скорость и доступность их именно из местоположения "подопытного":
В чём преимущество такого обновления (хотя бы изредка) по сравнению с традиционным консольным: apt update && apt upgrade :?:
В том, что измеренные по доступности и скорости репозитории тут же пропишутся в списках sources.list:
Снимок экрана от 2023-12-12 01-44-08.png
Снимок экрана от 2023-12-12 01-44-08.png (84.1 КБ) 113 просмотров

Код: Выделить всё

root@nvme:~# grep -v ^# /etc/apt/sources.list.d/official-package-repositories.list | grep -v ^$
deb https://mirror.kvant.if.ua/linuxmint/packages faye main upstream import backport 
deb http://debian.volia.net/debian bookworm main contrib non-free non-free-firmware
deb http://debian.volia.net/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/ bookworm-security main contrib non-free non-free-firmware
deb http://debian.volia.net/debian bookworm-backports main contrib non-free non-free-firmware
И мне не нужно искать, вспоминать, гадать URI репозиториев ... тем более что у меня в работе десяток или более дистрибутивов Linux, и у всех них эти URI различаются :!:

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей