Ssh命令的一些参数或配置随记

来自三线的随记

强制不校验HostKey的参数

-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null

Unable to negotiate with x.x.x.x port 22: no matching host key type found. Their offer: ssh-rsa

诸如此类的协商错误,可以通过参数临时添加开启,也可以通过改ssh配置文件开启

ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa x.x.x.x

修改~/.ssh/config配置文件开启

Host remarkable
    HostName XXX.XXX.X.XXX
    User root
    HostKeyAlgorithms=+ssh-rsa
    PubkeyAcceptedKeyTypes=+ssh-rsa

修改/etc/ssh/ssh_config 开启,语法类似修改~/.ssh/config

Host *
    SendEnv LANG LC_*
    HostkeyAlgorithms ssh-dss,ssh-rsa,ssh-ed25519
    PubkeyAcceptedKeyTypes=+ssh-rsa

使用私钥ssh登陆时,发现即使私钥配置正确,但是还是无法通过验证登陆 (no mutual signature algorithm)

虽然看起来是私钥验证不通过,但是使用ssh -v参数,可以看到类似的错误信息

debug1: send_pubkey_test: no mutual signature algorithm

这个错误同理需要使用如下参数

-o PubkeyAcceptedKeyTypes=+ssh-rsa