Как открыть порт 22 в OS X 10.6.7


83

Я пытаюсь открыть порт 22 в OSX, чтобы я мог подключиться к localhost с помощью ssh. Это моя текущая ситуация:

ssh localhost
ssh: connect to host localhost port 22: Connection refused

Я создал ключ и бросил его в свой файл authorized_keys следующим образом:

sh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

Сканирование портов «Сетевая утилита» подтверждает, что 22 (и удивительно 23) закрыты.

Контекст: я работаю над локальной настройкой Hadoop. В моей конфигурации я запускаю службы на localhost: #### s, и мне нужно открыть с ними связь через ssh.

Как я могу открыть 22? или я могу столкнуться с другой проблемой (возможно, неправильно сгенерированный ключ?)

Ответы:


186

Я думаю, ваш порт, вероятно, открыт, но у вас нет ничего, что его слушает.

В операционной системе Apple Mac OS X по умолчанию установлен SSH, но демон SSH не включен. Это означает, что вы не можете войти в систему удаленно или делать удаленные копии, пока не включите эту функцию.

Чтобы включить его, перейдите в «Системные настройки». В разделе «Интернет и сеть» есть значок «Совместное использование». Запустите это. В появившемся списке отметьте опцию «Удаленный вход». В OS X Yosemite и более поздних версиях больше нет меню «Интернет и сеть»; он был перемещен в Учетные записи. В меню «Общий доступ» теперь есть собственный значок в главном меню «Системные настройки». (спасибо @AstroCB)

Это немедленно запускает демон SSH, и вы можете удаленно войти в систему, используя свое имя пользователя. Внизу окна «Совместное использование» отображаются имя и IP-адрес. Вы также можете узнать это с помощью whoami и ifconfig из приложения Терминал.

Эти инструкции скопированы из Enable SSH в Mac OS X , но я хотел убедиться, что они не исчезнут, и обеспечить быстрый доступ.


Я не понимаю, что ты наделал. Точно, где доступен значок обмена. Помогите мне, пожалуйста.
Дивьянг Шах

Он находится в Системных настройках, доступном в меню Apple вверху.
Haukman

Также убедитесь, что у вас есть «Разрешить доступ для всех пользователей», если вы не являетесь администратором.
Донато

12
К сведению: в OS X Yosemite и более поздних версиях больше нет меню «Интернет и сеть»; он был перемещен в Учетные записи. В меню «Общий доступ» теперь есть собственный значок в главном меню «Системные настройки».
AstroCB


5

Для них доступно 3 решения.

1) Включите удаленный вход, используя команду ниже - sudo systemsetup -setremotelogin on

2) В Mac перейдите в Системные настройки -> Общий доступ -> включите удаленный вход, вот и все. 100% рабочий раствор

3) Последнее и самое важное решение - проверьте подключение к вашей частной сети. Иногда удаленный вход в локальную сеть запрещен.

Пожалуйста, попробуйте подключить свой компьютер к личной сети, такой как мобильная сеть, точка доступа и т. Д.


0

Я не мог решить проблему; Затем я сделал следующее, и проблема была решена: См. Здесь :

sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist  
    (Supply your password when it is requested)   
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist  
ssh -v localhost  
sudo launchctl list | grep "sshd"  
    46427   -   com.openssh.sshd  

Я выполнил этот процесс и получил «34720 0 com.openssh.sshd.long_string_of_digits_and_numbers», но «ssh username @ IP_address» по-прежнему дает мне «ssh: connect to host IP_address port 22: Connection
failed

0

В соответствии с macOS 10.14.5 ниже приведены сведения:

Идти к

системные настройки> общий доступ> удаленный вход.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.