/snap/core22/2437/usr/share/subiquity/subiquitycore/__pycache__
Edit: /snap/core22/2437/usr/share/subiquity/subiquitycore/__pycache__/ssh.cpython-310.pyc (3209B)
o
K^) @ sv d dl Z d dlZd dlZd dlmZ e dZdd Zdd Ze dZ
d Ze d
Zdd Z
d
d Zdd Zdd ZdS ) N)run_commandzsubiquitycore.sshc C s| t ddg} | jdkrtd| j g S g }| j D ]}|dr-|| ddd qg }|D ] }|
t| q2|S )zzQuery sshd to find the host keys and then fingerprint them.
Returns a sequence of (key-type, fingerprint) pairs.
sshdz-Tr zsshd -T failed %rzhostkey N )r
returncodelogdebugstderrstdout
splitlines
startswithappendsplitextendfingerprints)configkeyfileslineinfokeyfile r )/usr/share/subiquity/subiquitycore/ssh.pyhost_key_fingerprints s
r c C s| g }t dd| g}|jdkrtd| |j |S |j D ]}| dd }|d }|d d }|
||f q|S )
Nz
ssh-keygenz-lfr zssh-keygen -lf %s failed %r
r z())r r r r r r r
stripreplacer
r )r r cpr partsfingerprintkeytyper r r r , s
r zThe host key fingerprints are:
z$
{keytype:{width}} {fingerprint}z9The {keytype} host key fingerprint is:
{fingerprint}
c C s
t t S )N)summarize_host_keysr r r r r
host_key_infoG s
r" c C s t | dkrdS t | dkr| \\}}ttj||dS ttg}tdd | D }| D ]\}}|tj|||d q,d|S )Nr r r )r r c S s g | ]\}}t |qS r )len).0r _r r r
S s z'summarize_host_keys..)r r width) r# r% single_host_key_tmplformathost_keys_intromaxr
host_key_tmpljoin)r r r lineslongest_typer r r r! K s
r! c C sV zt | }W n ty td| g Y S w d|j}tj |r)t
|S g S )Nzgetpwnam(%s) failedz{}/.ssh/authorized_keys)pwdgetpwnamKeyErrorr exceptionr) pw_dirospathexistsr )username user_info
user_key_filer r r user_key_fingerprints[ s r; c C s ddl m} ddlm} | }| | d d }g }t|dd dD ]"}|d |v r.q%|d
D ]}|d dkrF||d
dd q2q%|S )Nr )Prober)NETDEV_IGNORED_IFACE_TYPESnetworklinksc S s | d d S )Nnetlink_datanamer )linkr r r o s z$get_ips_standalone..)keytype addressesscopeglobaladdress/) probert.proberr<