3

Ssh Cygwin не читает мой конфигурационный файл в %HOME%/.ssh/config .

У меня установлен Cygwin, но я предпочитаю использовать DOS-подобную среду в Windows. У меня есть каталог bin Cygwin в моем PATH и я часто использую Unix-подобные команды вне Cygwin.

Поскольку я не вхожу в Cygwin (или не выполняю .bashrc), я ожидал, что команды будут использовать переменные окружения, установленные Windows. HOME установлен в C:\Users\Vince и я ожидал, что ssh найдет файл конфигурации в C:\Users\Vince\.ssh\config , но этого не произойдет, если я не укажу опцию -F чтобы он посмотрел там.

Как мне узнать, где ssh Cygwin ищет файл конфигурации? Можно ли это изменить?

Спасибо.

3 ответа3

6

Вот мой ответ на основе вопросов и ответов, которые мы имели в комментариях.

По умолчанию Cygwin создает домашний каталог пользователя в /home/User , в системе Windows, а домашний каталог в другом месте -

Чтобы это исправить, откройте /etc/nsswitch.conf и отредактируйте в этой строке

db_home: windows

Закройте все сеансы терминала Cygwin и перезапустите. Теперь снова echo $HOME и вы должны увидеть, что теперь он должен быть установлен на окна %HOME% , и больше не использовать тот, который находится в /home

редактировать

Вам также может понадобиться удалить

/ И т.д. / пароль
/ И т.д. / группа

Как это теперь следует отложить на окна.

0

Чтобы проверить, правильно ли установлен Cygwin (cygrunsrv), запустите C:\cygwin\Cygwin.bat и выполните следующую команду:

cygrunsrv -h

Если Cygwin установлен правильно, то все параметры справки Cygwin отображаются на экране. Однако, если эта команда возвращает сообщение об ошибке, возможно, вам придется переустановить Cygwin.

Чтобы настроить службу SSHD, запустите C:\cygwin\Cygwin.bat и выполните следующую команду:

SSH-хост-конфигурации

После запуска команды вам будут предложены следующие вопросы:

  • Запрос: Должно ли использоваться разделение привилегий? : да
  • Запрос: Новая локальная учетная запись 'sshd'? : да
  • Запрос: Вы хотите установить sshd как сервис?
  • Запрос:: да
  • Запрос: введите значение CYGWIN для демона: [] binmode ntsec
  • Запрос: Вы хотите использовать другое имя? (да / нет) да / нет

На этом этапе, если вы хотите использовать то же имя, то есть cyg_server, введите no. Затем вам будут предложены следующие вопросы:

  • Запрос: Создать новую учетную запись привилегированного пользователя 'cyg_server'? (да / нет) да
  • Запрос: Пожалуйста, введите пароль:
  • Запрос: Арендатор:

Однако, если вы хотите использовать другое имя, введите yes. Затем вам будут предложены следующие вопросы:

  • Запрос: введите новое имя пользователя: cyg_server1
  • Запрос: повторно введите: cyg_server1
  • Запрос: Создать новую учетную запись привилегированного пользователя 'cyg_server1'? (да / нет) да
  • Запрос: Пожалуйста, введите пароль:
  • Запрос: Повторно введите:

Если конфигурация прошла успешно, вы увидите следующее сообщение:

Конфигурация хоста завершена. Повеселись!

0

Частично проблема здесь заключается в разбитых, перегруженных значениях, присвоенных $ HOME. Попытка объединить всю пользовательскую информацию в один каталог, когда вы смешиваете Cygwin и Windows, - плохая идея (тм).

Вам не терпится иметь несколько "систем", если они не конфликтуют. Когда вы пытаетесь заставить их сожительствовать слишком близко, у вас возникают неразрешимые проблемы. Вот почему bash, ksh и zsh имеют свои собственные профили, они не на 100% совместимы.

Хорошей идеей будет наличие отдельного каталога /home /USERNAME для CYGWIN. Когда есть вещи , которые вы знаете , являются совместимыми и должны быть разделены, то вы можете предпринять шаги , чтобы сделать его доступным из обоих миров. Если вы только начинаете работать с Cygwin, вам не следует пытаться сделать его более удобным с Windows.

Обычно в Windows нет каталога HOME, но некоторые программы его ищут. Проблема в том, что у тебя действительно два дома. Танцуй осторожно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .