[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Help request for authentication with certicates
[Thread Prev] | [Thread Next]
- Subject: Re: Help request for authentication with certicates
- From: Marco <bna.marco@xxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Thu, 28 Oct 2021 16:01:30 +0200
- To: libssh@xxxxxxxxxx
Some more considerations from server log of OpenSSH: ssh -i priv root@<ip> -o CertificateFile priv-cert.pub Accepted certificate ID "divo" (serial 0) signed by ED25519 CA SHA256: mm_answer_keyallowed: publickey authentication test: ED25519-CERT key is allowed Postponed publickey for root from 10.10.70.100 port 50909 ssh2 userauth_pubkey: valid user root attempting public key ssh-ed25519 userauth_pubkey: have ssh-ed25519 signature for ED25519 SHA256: trying public key file /etc/ssh/auth_keys/root Could not open authorized keys '/etc/ssh/auth_keys/root': No such file or directory Accepted certificate ID "divo" (serial 0) signed by ED25519 CA SHA256: via /etc/ssh/ca_user_key.pub mm_answer_keyallowed: publickey authentication: ED25519-CERT key is allowed mm_request_send entering: type 23 debug3: mm_sshkey_verify entering [preauth] debug3: mm_request_send entering: type 24 [preauth] debug3: mm_sshkey_verify: waiting for MONITOR_ANS_KEYVERIFY [preauth] debug3: mm_request_receive_expect entering: type 25 [preauth] debug3: mm_request_receive entering [preauth] debug3: mm_request_receive entering debug3: monitor_read: checking request 24 debug3: mm_answer_keyverify: publickey 0x19c72a8 signature verified debug1: auth_activate_options: setting new authentication options debug3: mm_request_send entering: type 25 Mar 9 17:49:15 imx7-var-som auth.info sshd[4456]: Accepted publickey for root from 10.10.70.100 port 49224 ssh2: ED25519-CERT SHA256: ID divo (serial 0) CA ED25519 SHA256: Mar 9 17:49:15 imx7-var-som auth.debug sshd[4456]: debug1: monitor_child_preauth: root has been authenticated by privileged process Mar 9 17:49:15 imx7-var-som auth.debug sshd[4456]: debug3: mm_get_keystate: Waiting for new keys Mar 9 17:49:15 imx7-var-som auth.debug sshd[4456]: debug3: mm_request_receive_expect entering: type 26 Mar 9 17:49:15 imx7-var-som auth.debug sshd[4456]: debug3: mm_request_receive entering Mar 9 17:49:15 imx7-var-som auth.debug sshd[4456]: debug3: mm_get_keystate: GOT new keys Mar 9 17:49:15 imx7-var-som auth.debug sshd[4456]: debug1: auth_activate_options: setting new authentication options [preauth] Mar 9 17:49:15 imx7-var-som auth.debug sshd[4456]: debug2: userauth_pubkey: authenticated 1 pkalg ssh-ed25519-cert-v01@xxxxxxxxxxx [preauth] Mar 9 17:49:15 imx7-var-som auth.debug sshd[4456]: debug3: user_specific_delay: user specific delay 0.000ms [preauth] Il giorno gio 28 ott 2021 alle ore 10:19 Marco <bna.marco@xxxxxxxxx> ha scritto: > At server side I have: > > Accepted certificate ID "divo" (serial 0) signed by ED25519 CA SHA256: > mm_answer_keyallowed: publickey authentication test: ED25519-CERT key is > allowed > Postponed publickey for root from 10.10.70.100 port 50909 ssh2 > userauth_pubkey: valid user root attempting public key ssh-ed25519 > userauth_pubkey: have ssh-ed25519 signature for ED25519 SHA256: > trying public key file /etc/ssh/auth_keys/root > Could not open authorized keys '/etc/ssh/auth_keys/root': No such file or > directory > mm_answer_keyallowed: publickey authentication: ED25519 key is not allowed > Failed publickey for root from 10.10.70.100 port 53113 ssh2: ED25519 > SHA256: > userauth_finish: failure partial=0 next methods="publickey,password" > > > Thanks in advance for any help! > > Marco > > Il giorno gio 28 ott 2021 alle ore 09:12 Marco <bna.marco@xxxxxxxxx> ha > scritto: > >> Hi. >> You are right. Libssh does not scan automatically for certificate or >> public key. >> While OpenSSH does it (or I can force certicate file using "-o >> CertificateFile" if I remember correctly), with libssh I do this: >> >> <code> >> #include <cstdlib> >> #include <cstdio> >> #include <iostream> >> #include <iomanip> >> #include <libssh/libssh.h> >> #include <libssh/libsshpp.hpp> >> >> int main(int argc, char* argv[]) { >> ssh::Session mySession; >> >> int port = 22; >> int verbosity = SSH_LOG_TRACE; >> >> try { >> mySession.setOption(ssh_options_e::SSH_OPTIONS_HOST, "10.10.70.2"); >> mySession.setOption(ssh_options_e::SSH_OPTIONS_PORT, &port); >> mySession.setOption(ssh_options_e::SSH_OPTIONS_LOG_VERBOSITY, >> &verbosity); >> mySession.setOption(ssh_options_e::SSH_OPTIONS_USER, "root"); >> >> mySession.connect(); >> >> ssh_key certKey; >> if (ssh_pki_import_cert_file("myFile-cert.pub", &certKey) == >> SSH_AUTH_SUCCESS) { >> if (mySession.userauthTryPublickey(certKey) == SSH_OK) { >> std::cout << "PUB IS OK --> PROVIDE PRIV" << std::endl; >> >> ssh_key privKey; >> if (ssh_pki_import_privkey_file("myFile", "mypassword", NULL, >> NULL, &privKey) == SSH_OK) { >> std::cout << "PRIV KEY OK" << std::endl; >> >> int res = mySession.userauthPublickey(privKey); >> if (res == SSH_AUTH_SUCCESS) { >> std::cout << "Authenticated" << std::endl; >> } else { >> std::cout << "RES = " << res << std::endl; >> std::cout << "!!!!! AUTH - " << >> >> ssh_get_error_code(mySession.getCSession()) << ": " << >> >> ssh_get_error(mySession.getCSession()) << std::endl; >> } >> >> mySession.disconnect(); >> >> ssh_key_free(certKey); >> ssh_key_free(privKey); >> } else { >> std::cout << "!!!!! LOAD PRIV - " << >> ssh_get_error_code(mySession.getCSession()) << ": >> " << >> ssh_get_error(mySession.getCSession()) << >> std::endl; >> } >> } else { >> std::cout << "!!!!! TRY PUB - " << >> ssh_get_error_code(mySession.getCSession()) << ": " >> << >> ssh_get_error(mySession.getCSession()) << std::endl; >> } >> } else { >> std::cout << "!!!!! IMPORT CERT - " << >> ssh_get_error_code(mySession.getCSession()) << ": " << >> ssh_get_error(mySession.getCSession()) << std::endl; >> } >> >> >> } catch (ssh::SshException& sshExc) { >> std::cout << "!!!!! EXC: " << sshExc.getCode() << ": " << >> sshExc.getError() << std::endl; >> } >> >> >> return EXIT_SUCCESS; >> } >> </code> >> >> <code> >> [2021/10/28 09:08:42.447359, 3] ssh_config_parse_file: Reading >> configuration data from /etc/ssh/ssh_config >> [2021/10/28 09:08:42.449523, 2] ssh_config_parse_line: Unapplicable >> option: SendEnv, line: 50 >> [2021/10/28 09:08:42.449664, 1] ssh_config_parse_line: Unsupported >> option: HashKnownHosts, line: 51 >> [2021/10/28 09:08:42.449691, 2] ssh_connect: libssh 0.9.3 (c) 2003-2019 >> Aris Adamantiadis, Andreas Schneider and libssh contributors. Distributed >> under the LGPL, please refer to COPYING file for information about your >> rights, using threading threads_pthread >> [2021/10/28 09:08:42.449702, 3] getai: host 10.10.70.2 matches an IP >> address >> [2021/10/28 09:08:42.449970, 2] ssh_socket_connect: Nonblocking >> connection socket: 3 >> [2021/10/28 09:08:42.450030, 2] ssh_connect: Socket connecting, now >> waiting for the callbacks to work >> [2021/10/28 09:08:42.450044, 3] ssh_connect: Actual timeout : 10000 >> [2021/10/28 09:08:42.453983, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLOUT ), out buffer 0 >> [2021/10/28 09:08:42.454099, 3] ssh_socket_pollcallback: Received >> POLLOUT in connecting state >> [2021/10/28 09:08:42.454123, 1] socket_callback_connected: Socket >> connection callback: 1 (0) >> [2021/10/28 09:08:42.454330, 3] ssh_socket_unbuffered_write: Enabling >> POLLOUT for socket >> [2021/10/28 09:08:42.454391, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLOUT ), out buffer 0 >> [2021/10/28 09:08:42.508991, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLIN ), out buffer 0 >> [2021/10/28 09:08:42.509092, 3] callback_receive_banner: Received >> banner: SSH-2.0-OpenSSH_8.2 >> [2021/10/28 09:08:42.509110, 2] ssh_client_connection_callback: SSH >> server banner: SSH-2.0-OpenSSH_8.2 >> [2021/10/28 09:08:42.509121, 2] ssh_analyze_banner: Analyzing banner: >> SSH-2.0-OpenSSH_8.2 >> [2021/10/28 09:08:42.509142, 2] ssh_analyze_banner: We are talking to an >> OpenSSH client version: 8.2 (80200) >> [2021/10/28 09:08:42.509334, 3] ssh_client_select_hostkeys: Order of >> wanted host keys: >> "ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss" >> [2021/10/28 09:08:42.512701, 3] ssh_client_select_hostkeys: Algorithms >> found in known_hosts files: "ecdsa-sha2-nistp256" >> [2021/10/28 09:08:42.512792, 3] ssh_client_select_hostkeys: Changing >> host key method to >> "ecdsa-sha2-nistp256,ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss" >> [2021/10/28 09:08:42.512851, 4] ssh_list_kex: kex algos: >> curve25519-sha256,curve25519-sha256@xxxxxxxxxx >> ,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group18-sha512,diffie-hellman-group16-sha512,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,ext-info-c >> [2021/10/28 09:08:42.512877, 4] ssh_list_kex: server host key algo: >> ecdsa-sha2-nistp256,ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss >> [2021/10/28 09:08:42.512889, 4] ssh_list_kex: encryption client->server: >> aes256-gcm@xxxxxxxxxxx,aes128-gcm@xxxxxxxxxxx >> ,aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-cbc >> [2021/10/28 09:08:42.512929, 4] ssh_list_kex: encryption server->client: >> aes256-gcm@xxxxxxxxxxx,aes128-gcm@xxxxxxxxxxx >> ,aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-cbc >> [2021/10/28 09:08:42.512942, 4] ssh_list_kex: mac algo client->server: >> hmac-sha2-256-etm@xxxxxxxxxxx,hmac-sha2-512-etm@xxxxxxxxxxx, >> hmac-sha1-etm@xxxxxxxxxxx,hmac-sha2-256,hmac-sha2-512,hmac-sha1 >> [2021/10/28 09:08:42.512952, 4] ssh_list_kex: mac algo server->client: >> hmac-sha2-256-etm@xxxxxxxxxxx,hmac-sha2-512-etm@xxxxxxxxxxx, >> hmac-sha1-etm@xxxxxxxxxxx,hmac-sha2-256,hmac-sha2-512,hmac-sha1 >> [2021/10/28 09:08:42.512961, 4] ssh_list_kex: compression algo >> client->server: none >> [2021/10/28 09:08:42.512970, 4] ssh_list_kex: compression algo >> server->client: none >> [2021/10/28 09:08:42.513010, 4] ssh_list_kex: languages client->server: >> [2021/10/28 09:08:42.513023, 4] ssh_list_kex: languages server->client: >> [2021/10/28 09:08:42.513145, 3] ssh_socket_unbuffered_write: Enabling >> POLLOUT for socket >> [2021/10/28 09:08:42.513199, 3] packet_send2: packet: wrote [type=20, >> len=940, padding_size=4, comp=935, payload=935] >> [2021/10/28 09:08:42.513212, 3] ssh_send_kex: SSH_MSG_KEXINIT sent >> [2021/10/28 09:08:42.513229, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLOUT ), out buffer 0 >> [2021/10/28 09:08:42.513238, 4] ssh_socket_pollcallback: sending control >> flow event >> [2021/10/28 09:08:42.513248, 4] ssh_packet_socket_controlflow_callback: >> sending channel_write_wontblock callback >> [2021/10/28 09:08:42.514538, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLIN ), out buffer 0 >> [2021/10/28 09:08:42.514643, 3] ssh_packet_socket_callback: packet: read >> type 20 [len=996,padding=9,comp=986,payload=986] >> [2021/10/28 09:08:42.514663, 3] ssh_packet_process: Dispatching handler >> for packet type 20 >> [2021/10/28 09:08:42.514684, 4] ssh_list_kex: kex algos: >> curve25519-sha256,curve25519-sha256@xxxxxxxxxx >> ,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 >> [2021/10/28 09:08:42.514761, 4] ssh_list_kex: server host key algo: >> ssh-ed25519,ssh-ed25519-cert-v01@xxxxxxxxxxx >> [2021/10/28 09:08:42.514784, 4] ssh_list_kex: encryption client->server: >> chacha20-poly1305@xxxxxxxxxxx,aes128-ctr,aes192-ctr,aes256-ctr, >> aes128-gcm@xxxxxxxxxxx,aes256-gcm@xxxxxxxxxxx >> [2021/10/28 09:08:42.514800, 4] ssh_list_kex: encryption server->client: >> chacha20-poly1305@xxxxxxxxxxx,aes128-ctr,aes192-ctr,aes256-ctr, >> aes128-gcm@xxxxxxxxxxx,aes256-gcm@xxxxxxxxxxx >> [2021/10/28 09:08:42.514817, 4] ssh_list_kex: mac algo client->server: >> umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx, >> hmac-sha2-256-etm@xxxxxxxxxxx,hmac-sha2-512-etm@xxxxxxxxxxx, >> hmac-sha1-etm@xxxxxxxxxxx,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx >> ,hmac-sha2-256,hmac-sha2-512,hmac-sha1 >> [2021/10/28 09:08:42.514874, 4] ssh_list_kex: mac algo server->client: >> umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx, >> hmac-sha2-256-etm@xxxxxxxxxxx,hmac-sha2-512-etm@xxxxxxxxxxx, >> hmac-sha1-etm@xxxxxxxxxxx,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx >> ,hmac-sha2-256,hmac-sha2-512,hmac-sha1 >> [2021/10/28 09:08:42.514893, 4] ssh_list_kex: compression algo >> client->server: none >> [2021/10/28 09:08:42.514900, 4] ssh_list_kex: compression algo >> server->client: none >> [2021/10/28 09:08:42.514909, 4] ssh_list_kex: languages client->server: >> [2021/10/28 09:08:42.514973, 4] ssh_list_kex: languages server->client: >> [2021/10/28 09:08:42.515048, 2] ssh_kex_select_methods: Negotiated >> curve25519-sha256,ssh-ed25519,aes256-gcm@xxxxxxxxxxx, >> aes256-gcm@xxxxxxxxxxx,hmac-sha2-256-etm@xxxxxxxxxxx, >> hmac-sha2-256-etm@xxxxxxxxxxx,none,none,, >> [2021/10/28 09:08:42.515917, 3] ssh_socket_unbuffered_write: Enabling >> POLLOUT for socket >> [2021/10/28 09:08:42.516506, 3] packet_send2: packet: wrote [type=30, >> len=44, padding_size=6, comp=37, payload=37] >> [2021/10/28 09:08:42.516551, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLOUT ), out buffer 0 >> [2021/10/28 09:08:42.516652, 4] ssh_socket_pollcallback: sending control >> flow event >> [2021/10/28 09:08:42.516671, 4] ssh_packet_socket_controlflow_callback: >> sending channel_write_wontblock callback >> [2021/10/28 09:08:42.573762, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLIN ), out buffer 0 >> [2021/10/28 09:08:42.573901, 3] ssh_packet_socket_callback: packet: read >> type 31 [len=188,padding=8,comp=179,payload=179] >> [2021/10/28 09:08:42.573927, 3] ssh_packet_process: Dispatching handler >> for packet type 31 >> [2021/10/28 09:08:42.574199, 3] ssh_socket_unbuffered_write: Enabling >> POLLOUT for socket >> [2021/10/28 09:08:42.574264, 3] packet_send2: packet: wrote [type=21, >> len=12, padding_size=10, comp=1, payload=1] >> [2021/10/28 09:08:42.574282, 4] ssh_packet_set_newkeys: called, >> direction = OUT >> [2021/10/28 09:08:42.574487, 3] crypt_set_algorithms2: Set output >> algorithm to aes256-gcm@xxxxxxxxxxx >> [2021/10/28 09:08:42.574561, 3] crypt_set_algorithms2: Set HMAC output >> algorithm to aead-gcm >> [2021/10/28 09:08:42.574580, 3] crypt_set_algorithms2: Set input >> algorithm to aes256-gcm@xxxxxxxxxxx >> [2021/10/28 09:08:42.574593, 3] crypt_set_algorithms2: Set HMAC input >> algorithm to aead-gcm >> [2021/10/28 09:08:42.574620, 2] ssh_init_rekey_state: Set rekey after >> 4294967296 blocks >> [2021/10/28 09:08:42.574687, 2] ssh_init_rekey_state: Set rekey after >> 4294967296 blocks >> [2021/10/28 09:08:42.574714, 2] ssh_packet_client_curve25519_reply: >> SSH_MSG_NEWKEYS sent >> [2021/10/28 09:08:42.574728, 3] ssh_packet_socket_callback: Processing >> 244 bytes left in socket buffer >> [2021/10/28 09:08:42.574741, 3] ssh_packet_socket_callback: packet: read >> type 21 [len=12,padding=10,comp=1,payload=1] >> [2021/10/28 09:08:42.574755, 3] ssh_packet_process: Dispatching handler >> for packet type 21 >> [2021/10/28 09:08:42.574764, 2] ssh_packet_newkeys: Received >> SSH_MSG_NEWKEYS >> [2021/10/28 09:08:42.574781, 4] ssh_pki_signature_verify: Going to >> verify a ssh-ed25519 type signature >> [2021/10/28 09:08:42.575037, 4] pki_verify_data_signature: Signature >> valid >> [2021/10/28 09:08:42.575092, 2] ssh_packet_newkeys: Signature verified >> and valid >> [2021/10/28 09:08:42.575104, 4] ssh_packet_set_newkeys: called, >> direction = IN >> [2021/10/28 09:08:42.575114, 3] ssh_packet_socket_callback: Processing >> 228 bytes left in socket buffer >> [2021/10/28 09:08:42.575129, 3] ssh_packet_socket_callback: packet: read >> type 7 [len=208,padding=4,comp=203,payload=203] >> [2021/10/28 09:08:42.575140, 3] ssh_packet_process: Dispatching handler >> for packet type 7 >> [2021/10/28 09:08:42.575149, 3] ssh_packet_ext_info: Received >> SSH_MSG_EXT_INFO >> [2021/10/28 09:08:42.575158, 3] ssh_packet_ext_info: Follows 1 extensions >> [2021/10/28 09:08:42.575168, 3] ssh_packet_ext_info: Extension: >> server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@xxxxxxxxxxx >> ,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, >> sk-ecdsa-sha2-nistp256@xxxxxxxxxxx> >> [2021/10/28 09:08:42.575212, 3] ssh_connect: current state : 7 >> [2021/10/28 09:08:42.577743, 3] ssh_key_algorithm_allowed: Checking >> ssh-ed25519-cert-v01@xxxxxxxxxxx with list < >> ssh-ed25519-cert-v01@xxxxxxxxxxx,ecdsa-sha2-nistp521-cert-v01@xxxxxxxxxxx >> ,ecdsa-sha2-nistp384-cert-v01@xxxxxxxxxxx, >> ecdsa-sha2-nistp256-cert-v01@xxxxxxxxxxx, >> rsa-sha2-512-cert-v01@xxxxxxxxxxx,rsa-sha2-256-cert-v01@xxxxxxxxxxx, >> ssh-rsa-cert-v01@xxxxxxxxxxx,ssh-dss-cert-v01@xxxxxxxxxxx >> ,ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss> >> [2021/10/28 09:08:42.577862, 3] packet_send2: packet: wrote [type=5, >> len=32, padding_size=14, comp=17, payload=17] >> [2021/10/28 09:08:42.577883, 3] ssh_service_request: Sent >> SSH_MSG_SERVICE_REQUEST (service ssh-userauth) >> [2021/10/28 09:08:42.577902, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLOUT ), out buffer 52 >> [2021/10/28 09:08:42.578031, 3] ssh_socket_unbuffered_write: Enabling >> POLLOUT for socket >> [2021/10/28 09:08:42.578102, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLOUT ), out buffer 0 >> [2021/10/28 09:08:42.578117, 4] ssh_socket_pollcallback: sending control >> flow event >> [2021/10/28 09:08:42.578126, 4] ssh_packet_socket_controlflow_callback: >> sending channel_write_wontblock callback >> [2021/10/28 09:08:42.579018, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLIN ), out buffer 0 >> [2021/10/28 09:08:42.579115, 3] ssh_packet_socket_callback: packet: read >> type 6 [len=32,padding=14,comp=17,payload=17] >> [2021/10/28 09:08:42.579138, 3] ssh_packet_process: Dispatching handler >> for packet type 6 >> [2021/10/28 09:08:42.579152, 3] ssh_packet_service_accept: Received >> SSH_MSG_SERVICE_ACCEPT >> [2021/10/28 09:08:42.579283, 3] ssh_socket_unbuffered_write: Enabling >> POLLOUT for socket >> [2021/10/28 09:08:42.579353, 3] packet_send2: packet: wrote [type=50, >> len=528, padding_size=6, comp=521, payload=521] >> [2021/10/28 09:08:42.579376, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLOUT ), out buffer 0 >> [2021/10/28 09:08:42.579389, 4] ssh_socket_pollcallback: sending control >> flow event >> [2021/10/28 09:08:42.579402, 4] ssh_packet_socket_controlflow_callback: >> sending channel_write_wontblock callback >> [2021/10/28 09:08:42.656812, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLIN ), out buffer 0 >> [2021/10/28 09:08:42.656908, 3] ssh_packet_socket_callback: packet: read >> type 60 [len=496,padding=14,comp=481,payload=481] >> [2021/10/28 09:08:42.656928, 3] ssh_packet_process: Dispatching handler >> for packet type 60 >> [2021/10/28 09:08:42.656941, 4] ssh_packet_userauth_pk_ok: Received >> SSH_USERAUTH_PK_OK/INFO_REQUEST/GSSAPI_RESPONSE >> [2021/10/28 09:08:42.656992, 4] ssh_packet_userauth_pk_ok: Assuming >> SSH_USERAUTH_PK_OK >> PUB IS OK --> PROVIDE PRIV >> [2021/10/28 09:08:42.659075, 2] ssh_pki_import_privkey_base64: Trying to >> decode privkey passphrase=true >> [2021/10/28 09:08:42.659222, 2] ssh_pki_openssh_import: Opening OpenSSH >> private key: ciphername: aes256-ctr, kdf: bcrypt, nkeys: 1 >> [2021/10/28 09:08:42.659301, 3] pki_private_key_decrypt: Decryption: 32 >> key, 16 IV, 16 rounds, 16 bytes salt >> PRIV KEY OK >> [2021/10/28 09:08:42.825385, 3] ssh_key_algorithm_allowed: Checking >> ssh-ed25519 with list <ssh-ed25519-cert-v01@xxxxxxxxxxx, >> ecdsa-sha2-nistp521-cert-v01@xxxxxxxxxxx, >> ecdsa-sha2-nistp384-cert-v01@xxxxxxxxxxx, >> ecdsa-sha2-nistp256-cert-v01@xxxxxxxxxxx, >> rsa-sha2-512-cert-v01@xxxxxxxxxxx,rsa-sha2-256-cert-v01@xxxxxxxxxxx, >> ssh-rsa-cert-v01@xxxxxxxxxxx,ssh-dss-cert-v01@xxxxxxxxxxx >> ,ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss> >> [2021/10/28 09:08:42.825710, 3] ssh_socket_unbuffered_write: Enabling >> POLLOUT for socket >> [2021/10/28 09:08:42.825779, 3] packet_send2: packet: wrote [type=50, >> len=208, padding_size=9, comp=198, payload=198] >> [2021/10/28 09:08:42.825803, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLOUT ), out buffer 0 >> [2021/10/28 09:08:42.825819, 4] ssh_socket_pollcallback: sending control >> flow event >> [2021/10/28 09:08:42.825835, 4] ssh_packet_socket_controlflow_callback: >> sending channel_write_wontblock callback >> [2021/10/28 09:08:42.832362, 4] ssh_socket_pollcallback: Poll callback >> on socket 3 (POLLIN ), out buffer 0 >> [2021/10/28 09:08:42.832464, 3] ssh_packet_socket_callback: packet: read >> type 51 [len=48,padding=13,comp=34,payload=34] >> [2021/10/28 09:08:42.832482, 3] ssh_packet_process: Dispatching handler >> for packet type 51 >> [2021/10/28 09:08:42.832528, 1] ssh_packet_userauth_failure: Access >> denied for 'publickey'. Authentication that can continue: >> publickey,password,hostbased >> [2021/10/28 09:08:42.832576, 2] ssh_packet_userauth_failure: Access >> denied for 'publickey'. Authentication that can continue: >> publickey,password,hostbased >> RES = 1 >> !!!!! AUTH - 1: Access denied for 'publickey'. Authentication that can >> continue: publickey,password,hostbased >> </code> >> >> As you can see I try to load certificate with public key and then I >> provide private key. What I've got is >> >> !!!!! AUTH - 1: Access denied for 'publickey'. Authentication that can >> continue: publickey,password,hostbased >> >> At server side in /var/log/auth.log there is nothing to see other then >> disconnection.... I'll try to set debug to higher level. >> >> Some suggestion about the authentication error? >> >> Marco Bna' >> >> Il Mer 27 Ott 2021, 20:01 Jakub Jelen <jjelen@xxxxxxxxxx> ha scritto: >> >>> On 10/27/21 16:26, Marco wrote: >>> > Hi all and thanks for attention. >>> > >>> > I have some difficulties in authentication using certificate from C >>> > application using ssh to a server correctly configured, I think. >>> > >>> > I've generate a private and public key and signed the public with the >>> > certification authority private key to have -cert.pub with desired >>> > principals (principals are in /etc/ssh/auth_principals/%u at server >>> side) >>> > >>> > The server is configured to recognize the CA and has authentication >>> > principals >>> > >>> > Using ssh from shell I have no issue. >>> > >>> > With c application following tutorial and after setting session with >>> > username, ip, port, I try public key using cert file,it succeed, then >>> I >>> > try to authenticate with private key but I have Access denied. >>> >>> AFAIK the OpenSSH (ssh from shell) automatically loads the existing >>> -cert.pub files when it founds them alongside of the private and public >>> key files. I am not sure if this functionality is implemented in libssh, >>> but from what you describe, it looks like the case. >>> >>> The certificate and public key authentication are both using the pubkey >>> authentication method, but they are using different "key type" (or >>> mechanism -- for example ssh-ed25519 or >>> ssh-ed25519-cert-v01@xxxxxxxxxxx, which will use different content of >>> the authentication packets (you should be able to see this difference in >>> debug mode of both server and clients). >>> >>> I think this works as expected from the protocol point of view. If you >>> think libssh should also try to find matching certificates and use them >>> for the authentication, contributions are welcomed: >>> >>> https://gitlab.com/libssh/libssh-mirror >>> >>> Hope it helps, >>> -- >>> Jakub Jelen >>> Crypto Team, Security Engineering >>> Red Hat, Inc. >>> >>> >>>
Re: Help request for authentication with certicates | Marco <bna.marco@xxxxxxxxx> |
Help request for authentication with certicates | Marco <bna.marco@xxxxxxxxx> |
Re: Help request for authentication with certicates | Jakub Jelen <jjelen@xxxxxxxxxx> |
Re: Help request for authentication with certicates | Marco <bna.marco@xxxxxxxxx> |
Re: Help request for authentication with certicates | Marco <bna.marco@xxxxxxxxx> |