В рамках сеанса WSL, ssh к внешнему ящику Linux

Лучше всего перейти на High Sierra.

Если это невозможно по какой-либо причине, вы можете обойти эту ошибку, используя stunnelи ретранслировать почту из постфикса в незашифрованном виде через локальный зашифрованный туннель в соответствии с этим руководством(все кредиты принадлежат Райнеру Мюллеру):

  1. Установить MacPorts
  2. $ sudo port install stunnel certsync
  3. Создайте /Library/LaunchDaemons/org.example.mail.plistи поместите в него следующее:






    Label
    org.example.mail
    ProgramArguments
    
        /opt/local/bin/stunnel3
        -c
        -r
        smtp.gmail.com:587
        -n
        smtp
        -v
        2
        -A
        /opt/local/etc/openssl/cert.pem
    
        UserName
        nobody
    Sockets
    
        Listeners
        
            SockNodeName
            localhost
            SockServiceName
            555
            SockType
            stream
        
    
    inetdCompatibility
    
        Wait
        
    


  1. Настройте launchd для запуска stunnel3:
    $ sudo launchctl load -w /Library/LaunchDaemons/org.example.mail.plist
  2. Проверка соединения:
    nc localhost 555
  3. Изменить /etc/postfix/main.cf, чтобы постфикс использовал локальный туннель вместо прямого подключения к SMTP-серверу:

relayhost = [localhost]:555
smtp_tls_security_level = may

(Уровень шифрования также должен быть снижен)

  1. В /etc/postfix/sasl_passwdизмените smtp.gmail.com:587на localhost:555
  2. .
  3. Перезагрузить почтовую карту:

sudo postmap hash:/etc/postfix/sasl_passwd

Теперь ваша почта должна работать как часы!

П.С. Используйте эту команду для просмотра почтовых журналов во время выполнения для отладки :

.

log stream --predicate  '(process == "smtpd") || (process == "smtp")' --debug

П.П.С. У меня установлен XCode 9.2. Это может быть необходимо для установки/запуска stunnel3.

0
22.10.2020, 17:39
1 ответ

Самый простой способ:Сгенерируйте пару ключей с терминала WSL, как обычно

$ ssh-keygen -t rsa -b 2048 

Затем используйте команду ssh -скопируйте -id из WSL на удаленный сервер Linux

$ ssh-copy-id user@remote-server

Вам будет предложено ввести пароль. Как только пароль будет принят, обмен ключами произойдет в фоновом режиме. Затем выйдите из удаленного сервера Linux и попробуйте снова войти в систему. На этот раз пароль не потребуется. Это все, что вам нужно

0
18.03.2021, 22:55

Теги

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