SSH-Befehl von Windows an Mac: Berechtigung verweigert

681
M1n1M1n1ng

Zielsetzung

Ich möchte von meinem Windows-Computer (Windows 10) auf meinen lokalen Mac-Computer (Version: High Sierra 10.13.5) zugreifen. Der Zweck der Automatisierung besteht darin, die Kennwortauthentifizierung zu entfernen und SSH-Schlüsselzugriff hinzuzufügen. Beide Maschinen verfügen über dasselbe WLAN.

Mac-Konfiguration

Hier ist meine sshd_config-Datei:

# $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 

Hier ist mein .ssh-Ordner auf dem Mac:

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

Windows-Konfiguration

Hier ist mein .ssh-Ordner auf meinem Windows-Computer:

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 

Schlüssel

Ich habe die SSH-Schlüssel auf meinen Windows- und Mac-Computern generiert, um die Ordner zu generieren. Dann habe ich den öffentlichen Schlüssel ".pub" von Windows auf den Mac kopiert /.ssh/id_rsa.pub

Schritte versucht

Ich habe das in Windows ausgeführt:

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

und das war die Ausgabe:

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). 

Ich bin bei allen Schritten, die ich vermisst habe, etwas verloren.

1

1 Antwort auf die Frage

2
Hogstrom

Da Sie von Windows aus auf den Mac zugreifen, benötigen Sie den privaten Schlüssel auf dem Windows-System und den öffentlichen Schlüssel auf dem Mac. Der öffentliche Schlüssel wird auf dem Host, auf den sich Ihre Sshing befindet (in diesem Fall der Mac), in einer Datei namens authorized_keys abgelegt. Es würde sich befinden in:

~/.ssh/authorized_keys 

Diese Datei enthält die öffentlichen Schlüssel für Clients, von denen aus Sie eine Verbindung herstellen.

Stellen Sie sicher, dass Sie die Berechtigungen für die Datei mithilfe von chmod go-rwx authorized_keys festgelegt haben. Wenn es für andere als den Besitzer lesbar ist, glaube ich, dass ssh die Datei nicht verarbeiten kann.

Die Frage lautet: "Ich habe die SSH-Schlüssel auf meinen Windows- und Mac-Computern generiert, um die Ordner zu generieren, dann habe ich den öffentlichen Schlüssel" .pub "von Windows auf den Mac kopiert." Es klingt also so, als würden Sie etwas vorschlagen, was das OP bereits getan hat. Scott vor 6 Jahren 0
Die bereitgestellten Details waren unklar, wo die Schlüssel platziert wurden. Anscheinend wurden zwei unterschiedliche Schlüsselsätze auf den beiden Computern erstellt. Der private Schlüssel verbleibt in diesem Fall in Windows und der öffentliche Teil wird in der angegebenen Datei auf dem Remote-Mac gespeichert. Hogstrom vor 6 Jahren 0
@Hogstrom Ich erstelle Schlüssel für Windows und Mac, um sicherzustellen, dass Ordner erstellt werden. Dann kopierte ich den öffentlichen Schlüssel von (Windows) in die id_rsa.pub. Der private Schlüssel von Windows bleibt jedoch an den Fenstern M1n1M1n1ng vor 6 Jahren 0
Was fehlt, ist, den öffentlichen Schlüssel auf den Mac zu kopieren und ihn in eine Datei namens ** authorised_keys ** zu legen. Diese Datei enthält eine Zeile für jeden zu verarbeitenden öffentlichen Schlüssel Hogstrom vor 6 Jahren 0
Hallo, ja es war der fehlende Schritt. es funktioniert jetzt !! Danke euch allen M1n1M1n1ng vor 6 Jahren 0