试了半天,Xshell好像没办法导入linux生成的ssh公钥,因此需要以下步骤实现免密登录
结论,在linux公钥文件中,将客户端生成的ed25519公钥加上去即可(一个公钥单独一行)
1.使用Linux生成秘钥文件(不需要输入私钥密码passphrase)或者直接创建一个相同路径的文件
ssh-keygen -a 256 -t ed25519
2.默认生成在~/.ssh文件夹中(.ssh 不会显示在目录中,直接cd ~/.ssh进入文件夹),里面存在公钥文件id_ed25519.pub
3. 配置ssh公钥登录,三个相关配置
# 是否允许公钥身份验证,默认为yes #PubkeyAuthentication yes # 第二步的认证公钥文件,如果没改名就是id_ed25519.pub #AuthorizedKeysFile .ssh/authorized_keys #是否允许密码身份验证,默认为yes PasswordAuthentication no
4.Xshell生成ed25519公钥(一样不输入加密的密码passphrase)
5.复制生成的秘钥,打开linux刚刚创建的id_ed25519.pub文件,将秘钥复制进去
6.完成,登录的时候选择公钥登录即可,如果刚刚设置了密码这里应该还有输入密码,其他客户端配置一样,在linux公钥新加一行即可