欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在Windows和Linux之间进行SSH免密登录,包括Linux与Linux之间的互相登录

最编程 2024-08-03 14:25:30
...
分别在两条主机上生成密钥对
  • 使用命令ssh-keygen -t rsa 生成密钥对,期间可以设置密钥对的存放位置和密钥对的密码,直接三个回车跳过即可(一定不能设置密码)
  • image-20221114144351820
  • 生成完之后会在用户目录下生成生成.ssh文件夹,里面包含公钥,私钥和一些配置文件(如果你已经有了公钥和私钥,可以不用再次生成)
.ssh文件夹有哪些内容
  • id_rsa 私钥
  • id_rsa.pub 公钥
  • authorized_keys 客户端的公钥列表
  • known_hosts 信任列表
  • config
免密登录的实现
  1. 假设A需要免密登录B
  2. 将A的公钥拷贝到B的authorized_keys中即可(一行一个)
相互免密登录
  1. 将公钥拷贝到对方的authorized_keys中和本机的authorized_keys中即可
  2. 为什么要拷贝到本机,ssh是可以连自己的,如果不拷到本机,当连本机的时候就需要输入密码
  3. 三台或多台,把所有的公钥收集到一个authorized_keys,然后拷贝到所有主机即可(主机过多可以使用自动分发脚本)
known_hosts作用
  • 此文件一般不做修改,每当 当前主机第一次其他主机(陌生主机)时,就会提示要求输入yes,就会在此文件写一条记录,之后再次连接就不再陌生
主机之间用户不一致解决
  • ssh默认使用当前用户去连接远程主机,当然,可以使用ssh user@host的方式指定用户
  • 可在config文件中配置
    • image-20221114151004157
    • 上图配置连接主机lucky和lucky2时使用lucky用户
    • config还有一些的其他的可用配置项,如:指定密钥对实现分组密钥

推荐阅读