Обновите openssh на OS X с помощью homebrew для соответствия PCI - программирование
Подтвердить что ты не робот

Обновите openssh на OS X с помощью homebrew для соответствия PCI

Существующей версией openssh на OS X 10.7.4 является SSH-2.0-OpenSSH_5.6, чего, к сожалению, не совместимо с PCI. Итак, мне нужно обновить его, и я пытаюсь сделать это с помощью Homebrew.

До сих пор я сделал следующее:

brew tap homebrew/dupes
brew install openssh

Нет проблем, все прошло хорошо, и теперь, когда я пытаюсь which ssh, я получаю:

/usr/local/bin/ssh

Что кажется прекрасным, также which sshd дает:

/usr/local/sbin/sshd

и ssh -v должным образом сообщает:

OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011

Пока все хорошо. Но здесь, где я вышел из своей стихии. Порт 22 по-прежнему использует установленную ОС, что означает, что telnet hostname 22 сообщает:

SSH-2.0-OpenSSH_5.6

Я пробовал работать с /System/Library/LaunchDaemons/ssh.plist без везения.

Итак, мои вопросы (возможно, в обратном порядке важны):

  • Как получить мою установку Homebrew для opensh, которая будет прослушивать порт 22?
  • Если я это сделаю, это вызовет конфликты с OS X или другим программным обеспечением?
  • В первую очередь, как я это делаю?
  • Разве я не думаю о том, чем я должен быть?
  • Неужели это ужасная идея?

Я расстроен тем, что не прохожу проверку PCI Compliance, и мне нужно понять это, и, честно говоря, я рассматриваю возможность изменения всех веб-сайтов электронной коммерции на моем сервере до stripe.com, но я хотел бы получить это выяснилось. Кроме того, кто-нибудь знает, будет ли openssh обновлен в Mountain Lion?

Изменить: Вот что я пытался в /System/Library/LaunchDaemons/ssh.plist:

Я только редактировал одну строку, меняя:

<string>/usr/sbin/sshd</string>

Для

<string>/usr/local/sbin/sshd</string>

И затем я попробовал sudo kill -HUP 1, как было предложено ниже @the-paul, а также перезагрузка Mac.

Telnetting с удаленного устройства показывает SSH-2.0-OpenSSH_5.6

Весь мой файл ssh.plist теперь выглядит следующим образом: http://pastie.org/private/qnhofuxomawjdypp9wgaq

4b9b3361

Ответ 1

  • Демоны, подобные этому, управляются в OS X с помощью launchd, который в свою очередь настраивается файлами в каталогах типа /System/Library/LaunchDaemons/ и /Library/LaunchDaemons. По крайней мере, Lion и Snow Leopard, демона ssh по умолчанию определяется /System/Library/LaunchDaemons/ssh.plist.

    Вы можете открыть это с правами root с помощью текстового редактора и изменить значение для клавиши Program /usr/libexec/sshd-keygen-wrapper на нужный путь; в вашем случае, возможно, /usr/local/sbin/sshd. Затем вам также нужно изменить первую строку ProgramArguments, которая говорит /usr/sbin/sshd, так как это подразумевается как аргумент launchproxy. Затем, чтобы перезагрузить,

    sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
    sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
    
  • Я не вижу, как это должно привести к конфликтам с обычным или хорошо управляемым программным обеспечением OS X.

  • Да, для меня это кажется очень разумным. Безопасность важна.

  • Это не очень ответственный вопрос. Но почти наверняка, да, так же, как и все остальные: ^)

  • Нет. Единственное, о чем нужно действительно беспокоиться, это то, что вы сохраняете свой sshd актуальным с безопасностью, а также лучше, чем это делает ОС. Если вы знаете о проблемах, подобных заданию этого вопроса, то я не думаю, что это будет проблемой для вас.

Изменить: Исправлены мои предложения по редактированию ssh.plist (протестировали его на этот раз).