Команда ssh с Windows на Mac: разрешение запрещено

570
M1n1M1n1ng

Задача

Я хочу получить доступ к своему локальному компьютеру Mac (версия: High Sierra 10.13.5) с моего компьютера Windows (Windows 10). Цель для автоматизации, чтобы удалить пароль аутентификации и добавить SSH ключи доступа. Обе машины находятся на одном Wi-Fi.

Конфигурация Mac

Вот мой файл sshd_config:

# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $  # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information.  # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin  # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value.  #Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::  #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key #HostKey /etc/ssh/ssh_host_ecdsa_key #HostKey /etc/ssh/ssh_host_ed25519_key  # Ciphers and keying #RekeyLimit default none  # Logging #SyslogFacility AUTH #LogLevel INFO  # Authentication:  #LoginGraceTime 2m #PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10  #PubkeyAuthentication no  # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 # but this is overridden so installations will only check .ssh/authorized_keys AuthorizedKeysFile .ssh/authorized_keys  #AuthorizedPrincipalsFile none  #AuthorizedKeysCommand none #AuthorizedKeysCommandUser nobody  # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts #HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for # HostbasedAuthentication #IgnoreUserKnownHosts no # Don't read the user's ~/.rhosts and ~/.shosts files #IgnoreRhosts yes  # To disable tunneled clear text passwords, change to no here! PasswordAuthentication no #PermitEmptyPasswords no  # Change to no to disable s/key passwords ChallengeResponseAuthentication no  # Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #KerberosGetAFSToken no  # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes  # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM no  #AllowAgentForwarding yes #AllowTcpForwarding yes #GatewayPorts no #X11Forwarding no #X11DisplayOffset 10 #X11UseLocalhost yes #PermitTTY yes #PrintMotd yes #PrintLastLog yes #TCPKeepAlive yes #UseLogin no #PermitUserEnvironment no #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 #UseDNS no #PidFile /var/run/sshd.pid #MaxStartups 10:30:100 #PermitTunnel no #ChrootDirectory none #VersionAddendum none  # pass locale information AcceptEnv LANG LC_*  # no default banner path #Banner none  # override default of no subsystems Subsystem sftp /usr/libexec/sftp-server  # Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PxermitTTY no # ForceCommand cvs server 

Вот моя папка .ssh на Mac:

User$ ls -a . .. id_rsa id_rsa.pub known_hosts 

Конфигурация Windows

Вот моя папка .ssh на моем компьютере с Windows:

Répertoire de C:\Users\myName\.ssh  28/06/2018 20:13 <DIR> . 28/06/2018 20:13 <DIR> .. 28/06/2018 20:28 1 679 id_rsa 28/06/2018 20:28 397 id_rsa.pub 28/06/2018 21:17 1 608 known_hosts 

Ключи

Я сгенерировал ключи SSH на своих компьютерах с Windows и Mac для создания папок, затем скопировал открытый ключ «.pub» из Windows на Mac /.ssh/id_rsa.pub

Предпринятые шаги

Я запустил это в Windows:

C:\Users\myName>ssh myName@macbook-air.home -vvv 

и это был выход:

OpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4 debug3: Failed to open file:C:\\Users\\myName/.ssh/config error:2 debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_config error:2 debug2: resolving "macbook-air.home" port 22 debug2: ssh_connect_direct: needpriv 0 debug1: Connecting to macbook-air.home [2a01:cb00:b4d:7200:1d70:6f19:ec84:50d2] port 22. debug1: Connection established. debug1: identity file C:\\Users\\myName/.ssh/id_rsa type 0 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_rsa-cert error:2 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_rsa-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\myName/.ssh/id_rsa-cert type -1 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_dsa error:2 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_dsa.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\myName/.ssh/id_dsa type -1 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_dsa-cert error:2 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_dsa-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\myName/.ssh/id_dsa-cert type -1 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_ecdsa error:2 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_ecdsa.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\myName/.ssh/id_ecdsa type -1 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_ecdsa-cert error:2 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_ecdsa-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\myName/.ssh/id_ecdsa-cert type -1 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_ed25519 error:2 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_ed25519.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\myName/.ssh/id_ed25519 type -1 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_ed25519-cert error:2 debug3: Failed to open file:C:\\Users\\myName/.ssh/id_ed25519-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\myName/.ssh/id_ed25519-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_for_Windows_7.6 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6 debug1: match: OpenSSH_7.6 pat OpenSSH* compat 0x04000000 debug2: fd 3 setting O_NONBLOCK debug1: Authenticating to macbook-air.home:22 as 'myName' debug3: hostkeys_foreach: reading file "C:\\Users\\myName/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file C:\\Users\\myName/.ssh/known_hosts:1 debug3: load_hostkeys: loaded 1 keys from macbook-air.home debug3: Failed to open file:C:\\Users\\myName/.ssh/known_hosts2 error:2 debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_known_hosts error:2 debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_known_hosts2 error:2 debug3: order_hostkeyalgs: prefer hostkeyalgs: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 debug3: send packet: type 20 debug1: SSH2_MSG_KEXINIT sent debug3: receive packet: type 20 debug1: SSH2_MSG_KEXINIT received debug2: local client KEXINIT proposal debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none debug2: compression stoc: none debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug2: peer server KEXINIT proposal debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1 debug2: host key algorithms: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none,zlib@openssh.com debug2: compression stoc: none,zlib@openssh.com debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: ecdsa-sha2-nistp256 debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug3: send packet: type 30 debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug3: receive packet: type 31 debug1: Server host key: ecdsa-sha2-nistp256 SHA256:ZwSw/+863TCoPOsZp7NJIKd79fbX1YR5z7Mc8QeQk+A debug3: hostkeys_foreach: reading file "C:\\Users\\myName/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file C:\\Users\\myName/.ssh/known_hosts:1 debug3: load_hostkeys: loaded 1 keys from macbook-air.home debug3: Failed to open file:C:\\Users\\myName/.ssh/known_hosts2 error:2 debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_known_hosts error:2 debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_known_hosts2 error:2 debug3: hostkeys_foreach: reading file "C:\\Users\\myName/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file C:\\Users\\myName/.ssh/known_hosts:8 debug3: load_hostkeys: loaded 1 keys from 2a01:cb00:b4d:7200:1d70:6f19:ec84:50d2 debug3: Failed to open file:C:\\Users\\myName/.ssh/known_hosts2 error:2 debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_known_hosts error:2 debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_known_hosts2 error:2 debug1: Host 'macbook-air.home' is known and matches the ECDSA host key. debug1: Found key in C:\\Users\\myName/.ssh/known_hosts:1 debug3: send packet: type 21 debug2: set_newkeys: mode 1 debug1: rekey after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug3: receive packet: type 21 debug1: SSH2_MSG_NEWKEYS received debug2: set_newkeys: mode 0 debug1: rekey after 134217728 blocks debug3: unable to connect to pipe \\\\.\\pipe\\openssh-ssh-agent, error: 2 debug1: pubkey_prepare: ssh_get_authentication_socket: No such file or directory debug2: key: C:\\Users\\myName/.ssh/id_rsa (000001DFF3B5DC40) debug2: key: C:\\Users\\myName/.ssh/id_dsa (0000000000000000) debug2: key: C:\\Users\\myName/.ssh/id_ecdsa (0000000000000000) debug2: key: C:\\Users\\myName/.ssh/id_ed25519 (0000000000000000) debug3: send packet: type 5 debug3: receive packet: type 7 debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521> debug3: receive packet: type 6 debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug3: send packet: type 50 debug3: receive packet: type 51 debug1: Authentications that can continue: publickey debug3: start over, passed a different list publickey debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering public key: RSA SHA256:d3nfNGfFM1IIyh2zlebYb4ai5BiDUObJchtnCChDYUY C:\\Users\\myName/.ssh/id_rsa debug3: send_pubkey_test debug3: send packet: type 50 debug2: we sent a publickey packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey debug1: Trying private key: C:\\Users\\myName/.ssh/id_dsa debug3: GetFileAttributesExW with last error 2 debug3: no such identity: C:\\Users\\myName/.ssh/id_dsa: No such file or directory debug1: Trying private key: C:\\Users\\myName/.ssh/id_ecdsa debug3: GetFileAttributesExW with last error 2 debug3: no such identity: C:\\Users\\myName/.ssh/id_ecdsa: No such file or directory debug1: Trying private key: C:\\Users\\myName/.ssh/id_ed25519 debug3: GetFileAttributesExW with last error 2 debug3: no such identity: C:\\Users\\myName/.ssh/id_ed25519: No such file or directory debug2: we did not send a packet, disable method debug1: No more authentication methods to try. myName@macbook-air.home: Permission denied (publickey). 

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

1

1 ответ на вопрос

2
Hogstrom

Поскольку вы получаете доступ к Mac из Windows, вам нужен закрытый ключ в системе Windows и открытый ключ на Mac. Открытый ключ помещается в файл с именем author_keys на хосте, к которому вы подключаетесь (в данном случае на Mac). Он будет расположен в:

~/.ssh/authorized_keys 

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

Убедитесь, что вы установили права доступа к файлу с помощью chmod go-rwx authorized_keys. Если его читают другие, чем владелец, я полагаю, ssh не будет обрабатывать файл.

В вопросе говорится: «Я сгенерировал ключи SSH на своих компьютерах с Windows и Mac для создания папок, а затем скопировал открытый ключ« .pub »из Windows в Mac». Похоже, вы предлагаете что-то, что ОП уже сделало. Scott 6 лет назад 0
Предоставленная деталь неясно о том, где ключи были размещены. Оказалось, что два разных набора ключей на двух компьютерах были созданы. Закрытый ключ в этом случае останется на окнах, а открытая часть будет помещена на удаленный Mac в указанном файле. Hogstrom 6 лет назад 0
@Hogstrom Я создаю ключи на Windows и Mac, чтобы убедиться, что папки будут созданы, затем я скопировал открытый ключ из (windows) в id_rsa.pub. Но закрытый ключ от окон остается на окнах M1n1M1n1ng 6 лет назад 0
Чего не хватает, так это скопировать открытый ключ на Mac и поместить его в файл с именем ** authorized_keys **. Этот файл содержит одну строку для каждого открытого ключа, который он будет обрабатывать Hogstrom 6 лет назад 0
Здравствуйте, да, это был пропущенный шаг. это работает сейчас !! Спасибо вам всем M1n1M1n1ng 6 лет назад 0

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