Как убрать лишние раскладки в Windows

Для установки Windows я использую International версию isoшки. С одной стороны привык, что все на английском, а с другой стороны если взять русскую, то потом замумукаешься русский выковыривать отовсюду. И с какой-то версии эта “интернациональная” версия по умолчанию ставит все от United Kingdom. В результате получается так

Лечится это двумя способами: либо в региональных настройках добавляем language pack от United Kingdom, в нем добавляем клавиатуры и потом их удаляем. Либо запуском regedt32 и открытием следующей ветки реестра

Computer\HKEY_CURRENT_USER\Keyboard Layout\Preload

Там видно такое

Последовательность записей совпадает с тем, что показывается при переключении языка. В моем случае грохаем последние две и перелогиниваемся. Результат

Удаленный доступ в WSL

В прошлом посте я получил доступ до консоли windows через ssh. Это жалкое, душераздирающее зрелище. Но внутри виндовса живет ubuntu. Можно конечно начать заморачиваться с пробросом портов, но проще сделать так:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\WINDOWS\System32\bash.exe" -PropertyType String -Force

И все, теперь отличить получившееся от нормальной машины можно только по косвенным признакам.

Windows 10 ssh key auth

Потребовалось тут сходить на windows 10 по ssh. Казалось бы, идешь в настройки, приложения, добавляешь “фичу” в виде OpenSSH server и вуаля! А в реальности оказалось фиг там.

Во-первых, почему-то по умолчанию ssh сервер не запущен и не запускается автоматически. Но это лечится запуском консоли powershell и скармливанием туда следующих команд

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

После этого надо узнать свой логин для ssh. Это чуть проще – просто открываем окно терминала и смотрим.

C:\Users\multi>

Почему-то логин у меня multi, хотя везде я multik. Куда делась последняя буква – я не знаю.

Следующим шагом я довольно долго пытался сделать авторизацию по ключу. Фигу. Сервер упорно сопротивлялся. Оказалось, что микрософт зачем-то только для администраторов вынес ключи не туда, где им положено быть, а в C:\ProgramData\ssh\administrators_authorized_keys . Повторюсь, только для админов.

Вылечить это можно поправив sshd_config в каталоге выше и закомментировав две последние строки. Ну либо забить и в этот файлик любым способом сложить ключи. После этого надо вернуть эту файлу права (куда они делись – хз). Для этого надо скормить в консоль повершелла следующее

$acl = Get-Acl C:\ProgramData\ssh\administrators_authorized_keys     
$acl.SetAccessRuleProtection($true, $false)     
$administratorsRule = New-Object system.security.accesscontrol.filesystemaccessrule("Administrators","FullControl","Allow")     
$systemRule = New-Object system.security.accesscontrol.filesystemaccessrule("SYSTEM","FullControl","Allow")     
$acl.SetAccessRule($administratorsRule)     
$acl.SetAccessRule($systemRule)     
$acl | Set-Acl

Все. После этого у меня заработал вход на винду по ключам.