Цифровой садик - приветственная

Цифровой садик - приветственная | Полный список всего, что тут есть | RSS | Подписаться через follow.it

07.03.2024

ssh

Permission denied (publickey)

Вообще, набор тем для проверки: https://docs.github.com/en/authentication/troubleshooting-ssh/error-permission-denied-publickey

Если при ssh -vT git@example.server.name получается много всего вроде бы ок, а в конце:

debug1: send_pubkey_test: no mutual signature algorithm
debug1: No more authentication methods to try.
git@example.server.name: Permission denied (publickey).

Вероятно, обновили ssh на версию, которая перестала по умолчанию признавать тип ключа, который используется. По нынешним временам это ssh-rsa. Так что надо включить их поддержку в конфиге или в конкретной команде:

PubkeyAcceptedKeyTypes +ssh-rsa
ssh -o 'PubkeyAcceptedKeyTypes +ssh-rsa' example.server.name

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

(Заодно советуют добавлять HostkeyAlgorithms +ssh-rsa. Ну, про запас сохраню :))

О выборе вида ключа - https://www.ssh.com/academy/ssh/keygen#choosing-an-algorithm-and-key-size

Запуск команды при подключении по ssh

попробуйте в ~/.ssh/authorized_keys перед ключем добавить замечательные команды

command="ваш скрипт" и куча опций на выбор no-port-forwarding no-X11-forwarding no-agent-forwarding no-pty и так далее man ssh

при подключении по ssh будет запускаться только скрипт [2014-09-29 Пн 20:22]

Сжатие ssh-трафика, инициируемое со стороны ssh-клиента.

Рулят, если вы туннелируете трафик по ssh, используете с той стороны ncurses или многотекста. Сильно много музыку по scp вы не сожмете, а вот пробрасывать иксы по ssh или использовать VNC через туннель становится обыденным и вполне комфортным делом.

В конец файла /etc/ssh/ssh_config добавляем 2 строки:

Compression yes
CompressionLevel 9

Применится к новым соединениям, вроде.

Port knocking

knock <host> 3000 4000 5000 && ssh -p <port> user@host && knock <host> 5000 4000 3000

This is sample output - yours may be different.

Knock on ports to open a port to a service (ssh for example) and knock again to close the port. You have to install knockd.

See example config file below.

[options]

logfile = /var/log/knockd.log

[openSSH]

sequence = 3000,4000,5000
seq_timeout = 5
command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn

[closeSSH]

sequence = 5000,4000,3000
seq_timeout = 5
command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn

Быстро настроить логин по ключу

Если нет ключей, то генерируем: ssh-keygen

Раньше нужно было apt-get install ssh-copy-id, но сейчас (2023-04-06) оно не отдельный пакет, просто есть.

ssh-copy-id -i ~/.ssh/id_rsa.pub user@some.server.org

SSH через прокси - Сorkscrew

(впервые нашла тему [2010-08-03 Вт])

Отредактировать файл ~/.ssh/config

Host myhost
ProxyCommand corkscrew proxy-address proxy-port %h %p

на место %h подставится адрес хоста, на место %p - порт.

Если потребуется аутентификация прокси, то необходимо создать файл (например, ~/.ssh/proxyauth) и записать в нём строчку: username:password

Сам же конфиг SSH изменится так:

Host myhost.zone
ProxyCommand corkscrew proxy-address proxy-port %h %p ~/.ssh/proxyauth

После этого можно спокойно коннектиться на нужный хост:

ssh myhost

SSH через tor

В конфиг:

Host shortname
    HostName longlonglongname.onion
    ProxyCommand socat - SOCKS4A:localhost:%h:%p,socksport=9050
    Port 11111

Альтернативный вариант с netcat, только измененная строка:

ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p

Ссылки


Если у вас есть мысли, комментарии, предложения или отклики по поводу этой страницы или этого цифрового сада в целом, напишите мне сообщение на agnessa@agnessa.pp.ru. Мне ооочень интересно!

Задонатить.


An IndieWeb Webring 🕸💍