千家信息网

Linux下如何配置ssh免密登录

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍了Linux下如何配置ssh免密登录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。SSH 是 Linux 系统的登录工
千家信息网最后更新 2026年11月04日Linux下如何配置ssh免密登录

这篇文章主要介绍了Linux下如何配置ssh免密登录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

SSH 是 Linux 系统的登录工具,现在广泛用于服务器登录和各种加密通信。

1.Linux下生成密钥

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

通过命令"ssh-keygen -t rsa"

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

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

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥id_rsa : 生成的私钥文件id_rsa.pub : 生成的公钥文件know_hosts : 已知的主机公钥清单如果希望ssh公钥生效需满足至少下面两个条件:

❝

\1) .ssh目录的权限必须是700 2) .ssh/authorized_keys文件权限必须是600

2.远程免密登录

原理图:

Linux下ssh高级使用–免密登录Linux下ssh高级使用–免密登录

常用以下几种方法:

2.1 通过ssh-copy-id的方式

❝

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

举例:

[root@test .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135root@192.168.91.135's   password:Now try logging into the machine, with "ssh '192.168.91.135'", and check in:.ssh/authorized_keys  to make sure we haven't added extra keys that you weren't expecting.[root@test .ssh]# ssh root@192.168.91.135Last login: Mon Oct 10 01:25:49 2016 from 192.168.91.133[root@localhost ~]#

常见错误:

[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

举例:

[root@test .ssh]# scp -p ~/.ssh/id_rsa.pub root@192.168.91.135:/root/.ssh/authorized_keysroot@192.168.91.135's password:  id_rsa.pub 100% 408 0.4KB/s 00:00 [root@test .ssh]#  [root@test .ssh]# ssh root@192.168.91.135Last login: Mon Oct 10 01:27:02 2016 from 192.168.91.133[root@localhost ~]#

2.3 通过Ansible实现批量免密

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

[Avoid close]192.168.91.132192.168.91.133192.168.91.134

2.3.2 执行命令进行免密操作

❝

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

示例:

[root@test sshpass-1.05]# ansible test -m authorized_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k   SSH password: ----->输入密码   192.168.91.135 | success >>{   "changed": true,    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArZI4kxlYuw7j1nt5ueIpTPWfGBJoZ8Mb02OJHR8yGW7A3izwT3/uhkK7RkaGavBbAlprp5bxp3i0TyNxa/apBQG5NiqhYO8YCuiGYGsQAGwZCBlNLF3gq1/18B6FV5moE/8yTbFA4dBQahdtVP PejLlSAbb5ZoGK8AtLlcRq49IENoXB99tnFVn3gMM0aX24ido1ZF9RfRWzfYF7bVsLsrIiMPmVNe5KaGL9kZ0svzoZ708yjWQQCEYWp0m+sODbtGPC34HMGAHjFlsC/SJffLuT/ug/hhCJUYeExHIkJF8OyvfC6DeF7ArI6zdKER7D8M0SM  WQmpKUltj2nltuv3w== root@localhost.localdomain",  "key_options": null,    "keyfile": "/root/.ssh/authorized_keys",    "manage_dir": true,    "path": null,    "state": "present",    "unique": false,    "user": "root"  }   [root@test sshpass-1.05]#

2.4 手工复制粘贴的方式

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


感谢你能够认真阅读完这篇文章,希望小编分享的"Linux下如何配置ssh免密登录"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 登录 命令 生成 公钥 篇文章 配置 高级 内容 方式 服务器 机器 权限 服务 两个 主机 价值 兴趣 办法 原理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司排名 亿人帮互联网科技有限公司 深圳恒合互联网络科技有限公司 互联网科技有限公司经营范围 互联网与科技金融数据 华宇互联网科技 平安科技 互联网 善班互联网科技有限公司 互联网科技宣传片 顺网科技2021年互联网排名 互联网科技博主是什么意思 中国科技互联网公司收入 以后互联网后是啥科技 互联网经济与金融科技 长沙茂晟互联网科技有限公司 上海万顺科技互联网有限公司招聘 米泉互联网科技专业怎么样 保山浩联互联网科技有限公司 长沙易易互联网科技有限公司 广东猫王互联网科技有限公司电话 北京路客互联网科技有限公司 海南科技产业互联网平台 宁夏科技产业互联网案例 乌苏新华互联网科技做什么的 企晟互联网信息科技有限公司 启辰互联网科技 富国互联网金融科技混合基金 福仕德教育科技互联网 青岛易易互联网科技 陕西彩京云互联网科技有限公司
0