当前位置:网站首页 > C++编程 > 正文

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



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

    举例:      

    常见错误:

      [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@ :/root/.ssh/authorized_keys

      举例:

      也可以分为两步操作

$ scp ~/.ssh/id_rsa.pub root@ :pub_key //将文件拷贝至远程服务器
$ cat ~/pub_key >>~/.ssh/authorized_keys //将内容追加到authorized_keys文件中, 不过要登录远程服务器来执行这条命令


    2.3 通过Ansible实现批量免密

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

2.3.2 执行命令进行免密操作

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

示例:

2.4 手工复制粘贴的方式

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

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

到此这篇ssh免密码登录配置没有ssh-copy-id命令(ssh免密码登录配置还需要输入密码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • autonomy翻译成中文(automatically翻译成中文)2026-04-25 12:54:04
  • conda卸载虚拟环境(删除conda虚拟环境)2026-04-25 12:54:04
  • dhcp自动获取 dns(dhcp自动获取怎么设置)2026-04-25 12:54:04
  • tcp/ip协议 ipv6(tcp/ip协议 ip地址)2026-04-25 12:54:04
  • c700m风扇(cs700w更换风扇)2026-04-25 12:54:04
  • ubantu安装mpi(ubantu安装anoconda)2026-04-25 12:54:04
  • apc和aps(apc和aps是什么)2026-04-25 12:54:04
  • console是什么意思c语言(c语言中con是什么意思)2026-04-25 12:54:04
  • cns认证标准的内容有哪些(cnas认证标准的内容有哪些)2026-04-25 12:54:04
  • cpu参数对比表(cpu参数对照表)2026-04-25 12:54:04
  • 全屏图片