Работа с SSH в Windows 11 и Windows Terminal

Комплексная заметка по работе с SSH в Windows 11 через  Windows Terminal.

1. Управление профилями Windows Terminal - settings.json

Через файл настроек settings.json гораздо удобнее производитель управление профилями, в частности ssh подключениями.

1.1 Чтобы быстро найти и открыть файл settings.json нужно запустить Windows Terminal открыть параметры или нажать комбинацию клавиш Ctrl + / и нажать на кнопку Открытие файла JSON.

(Если файл настроек Windows Terminal — settings.json файл не открылся, нужно назначить программу по умолчанию для открытия json файлов.)

Открыв settings.json можно найти список профилей в массиве list записи с ключом profiles:

Чтобы добавить новый профиль, в  массив list необходимо добавить новую запись с содержанием:

{
    "name": "Test VPS",
    "tabTitle": "Test VPS",
    "commandline": "ssh -i ~/.ssh/superkey vpsuser@124.124.124.124"
}

Я использую параметры -i ~/.ssh/superkey в commandline для явного указания ssh ключа.

В итоге:

Ссылка на официальную документацию — General profile settings in Windows Terminal

2. Копирование ssh ключа на удалённый сервер

cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'cat >> .ssh/authorized_keys && echo "Key copied"'

А лучше с помощью данной команды:

Цитата Авторизация по ключу SSH:

Если такой способ по какой-либо причине для вас не работает, вы можете скопировать ключ по ssh вручную. Мы создадим каталог ~/.ssh, а затем поместим наш ключ в файл authorized_keys с помощью символа >>, это позволит не перезаписывать существующие ключи:

 cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Конечно можно заморочиться с добавлением эмуляции команды ssh-copy-id, но лично мне кажется что это лишнее — ssh-copy-id для Windows.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *