2026年ssh免密码登录配置没有ssh-copy-id命令(ssh免密码登录配置还需要输入密码)

ssh免密码登录配置没有ssh-copy-id命令(ssh免密码登录配置还需要输入密码)1 Linux 下生成密钥 ssh keygen 的命令手册 通过 man ssh keygen 命令 通过命令 ssh keygen t rsa 生成之后会在用户的根目录生成一个 ssh 的文件夹 进入 ssh 会生成以下几个文件 authorized keys 存放远程免密登录的公钥 主要通过这个文件记录多台机器的公钥 id rsa 生成的私钥文件 id rsa pub 生成的公钥文件 know hosts 已知的主机公钥清单



1.Linux下生成密钥

  ssh-keygen的命令手册,通过”man ssh-keygen“命令:

  通过命令”ssh-keygen -t rsa“

  生成之后会在用户的根目录生成一个 “.ssh”的文件夹

  进入“.ssh”会生成以下几个文件

  know_hosts : 已知的主机公钥清单

    如果希望ssh公钥生效需满足至少下面两个条件:

     2) .ssh/authorized_keys文件权限必须是600

2.远程免密登录

  原理图:

  常用以下几种方法:

    2.1 通过ssh-copy-id的方式

    命令: ssh-copy-id -i ~/.ssh/id_rsa.put <romte_ip>

    举例:      

    常见错误:

      [root@test ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135

      -bash: ssh-copy-id: command not found //提示命令不存在

      解决办法:yum -y install openssh-clients

   2.2 通过scp将内容写到对方的文件中

      命令:scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys

      举例:

      也可以分为两步操作:

    2.3 通过Ansible实现批量免密

2.3.1 将需要做免密操作的机器hosts添加到/etc/ansible/hosts下:

  [Avoid close]
  192.168.91.132
  192.168.91.133
  192.168.91.134


2.3.2 执行命令进行免密操作

  ansible <groupname> -m authorized_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k

示例:

2.4 手工复制粘贴的方式

  将本地id_rsa.pub文件的内容拷贝至远程服务器的~/.ssh/authorized_keys文件中

以上所述是小编给大家介绍的Linux下实现免密码登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对Java架构师必看网站的支持!

今天的文章 2026年ssh免密码登录配置没有ssh-copy-id命令(ssh免密码登录配置还需要输入密码)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2026-01-19 20:30
下一篇 2026-01-19 21:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/33749.html