Показаны сообщения с ярлыком ssh. Показать все сообщения
Показаны сообщения с ярлыком ssh. Показать все сообщения

17 февраля 2026

Как завершить зависшее SSH соединение

 Если по какой-либо причине SSH соединение зависает (например сменился внешний IP адрес) то такое соединение не получится завершить через Ctrl+D или Ctrl+C. Обычно я убивал локальный SSH процесс и заново логинился на сервер.

Оказывается есть способ проще - нужно использовать escape последовательность и для завершения соединения последовательно нажать <Enter> "~" и ".".

OpenSSH клиент поддерживает больше escape последовательностей, справку по которым можно получить через <Enter> "~" и "?".

Supported escape sequences:
     ~.   - terminate connection (and any multiplexed sessions)
     ~B   - send a BREAK to the remote system
     ~C   - open a command line
     ~R   - request rekey
     ~V/v - decrease/increase verbosity (LogLevel)
     ~^Z  - suspend ssh
     ~#   - list forwarded connections
     ~&   - background ssh (when waiting for connections to terminate)
     ~?   - this message
     ~~   - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

10 ноября 2016

userauth_pubkey: key type ssh-dss not in PubkeyAcceptedKeyTypes

В Ubuntu 16.04.1 из коробки отключена поддержка DSA ключей (споры на эту тему). Насколько это оправдано - решать вам, но если вам очень нужно ее включить обратно, то добавьте в /etc/ssh/sshd_config строку "PubkeyAcceptedKeyTypes=+ssh-dss".

echo 'PubkeyAcceptedKeyTypes=+ssh-dss' | sudo tee -a /etc/ssh/sshd_config
sudo service ssh reload

После этого можно зайти с DSA ключем.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

17 мая 2016

Настройка SSH jump host

Наткнулся на замечательный пример универсальной настройки ssh jump host в wiki gentoo:

Host *+*
  ProxyCommand ssh $(echo %h | sed 's/+[^+]*$//;s/\([^+%%]*\)%%\([^+]*\)$/\2 -l \1/;s/:/ -p /') exec nc -w 120 $(echo %h | sed 's/^.*+//;/:/!s/$/ %p/;s/:/ /')

Теперь чтобы зайти на домашний ноутбук достаточно скомандовать:

$ ssh andrey@public_host+home_gateway+laptop_host

До этого у меня была статичная конфигурация для public_host, home_gateway и каждого домашнего устройства, что довольно неудобно.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

10 ноября 2015

Изменение пароля сгенерированного SSH ключа

По мотивам ответа на serverfault.com. Есть сгенерированный SSH ключ ~/.ssh/repository - нужно изменить его пароль. Для этого предназначен ключ -p у ssh-keygen:

$ ssh-keygen -p -f ~/.ssh/repository

После этого нужно ввести старый пароль, затем новый и подтвердить новый пароль еще раз.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.