Использовать нестандартный терминал в Windows

Вы пытаетесь пропустить проверку ключа хоста, установив StrictHostKeyChecking на no.

Но вы должны сделать это перед проверкой, то есть перед session.connect().


В любом случае, вы никогда не должны этого делать, если вам не нужна безопасность. Проверка ключа хоста защищает вас от атак man-in-the-middle .

Вместо этого настройте ожидаемый ключ хоста, чтобы JSch проверил его.

Например:

  • Вызов JSch.setKnownHosts, обеспечивающий путь к файлу .ssh/known_hosts. Для генерации .ssh/known_hosts -подобного файла вы можете использовать команду ssh-keyscan из OpenSSH. Если вы подключаетесь к серверу * nix, вы должны иметь доступную команду, просто запустите
    ssh-keyscan example.com > known_hosts
    
    . Он будет иметь формат, такой как:
    example.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0hVqZOvZ7yWgie9OHdTORJVI5fJJoH1yEGamAd5G3werH0z7e9ybtq1mGUeRkJtea7bzru0ISR0EZ9HIONoGYrDmI7S+BiwpDBUKjva4mAsvzzvsy6Ogy/apkxm6Kbcml8u4wjxaOw3NKzKqeBvR3pc+nQVA+SJUZq8D2XBRd4EDUFXeLzwqwen9G7gSLGB1hJkSuRtGRfOHbLUuCKNR8RV82i3JvlSnAwb3MwN0m3WGdlJA8J+5YAg4e6JgSKrsCObZK7W1R6iuyuH1zA+dtAHyDyYVHB4FnYZPL0hgz2PSb9c+iDEiFcT/lT4/dQ+kRW6DYn66lS8peS8zCJ9CSQ==
    
    И ссылается на сгенерированный файл known_hosts в вашем JSch-коде. Если вы находитесь в Windows, вы можете получить сборку Windows из проекта Win32-OpenSSH или Git для Windows.
  • Вызов JSch.getHostKeyRepository().add(), чтобы обеспечить ожидаемый ключ хоста (например, жестко запрограммированные, как и другие учетные данные). См. Создание экземпляра JSch HostKey из открытого ключа в формате .pub .

1
задан Brandon 14 July 2018 в 01:26
поделиться

2 ответа

Думал, что я не могу вызвать cmd из WSL bash, но мне просто нужно было назвать его как cmd.exe, и он отлично открывается. : Facepalm:

1
ответ дан Brandon 17 August 2018 в 12:03
поделиться
  1. Установите подсистему WSL (похоже, у вас уже есть).
  2. Открыть код Visual Studio
  3. Открыть терминал в визуальном студийном коде
  4. В приглашении C: \\ введите «bash» и нажмите enter.

Отличный ответ с более подробной информацией об интеграции WSL с VS-кодом: Как использовать Bash для Ubuntu в Windows (WSL) для моего терминала VS Code?

0
ответ дан Rtype 17 August 2018 в 12:03
поделиться
  • 1
    Я не прошу изменить значение по умолчанию. Я спрашиваю, как открыть оболочку не по умолчанию. – Brandon 14 July 2018 в 01:31
  • 2
    не можете ли вы запустить оболочку не по умолчанию из командной строки? например, открыть командное окно и запустить оболочку? – Rtype 14 July 2018 в 01:33
  • 3
    Все дело в том, чтобы открыть его в VS-коде. Я могу установить значение по умолчанию для cmd и запустить bash, но чаще используется bash. – Brandon 14 July 2018 в 01:37
  • 4
    Когда вы используете окно терминала в vs code (ctrl + `). Вызов командной строки bash в окне командной строки внутри кода vs? – Rtype 14 July 2018 в 01:43
  • 5
    Да, я могу установить терминал по умолчанию для cmd и запустить bash изнутри в VS-коде, который откроет WSL-bash, но я использую bash чаще, чем cmd, поэтому я хочу, чтобы bash был по умолчанию. – Brandon 14 July 2018 в 02:02
Другие вопросы по тегам:

Похожие вопросы: