千家信息网

Linux下如何配置ssh免密登录

发表于:2024-10-10 作者:千家信息网编辑
千家信息网最后更新 2024年10月10日,这篇文章主要介绍了Linux下如何配置ssh免密登录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。SSH 是 Linux 系统的登录工
千家信息网最后更新 2024年10月10日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安全错误 数据库的锁怎样保障安全 海南电商软件开发技术 对计算机网络技术是什么 百度收录和国内外服务器有关系吗 中信软件开发中心应用管理处 黄岛区游戏软件开发解决方案 星海软件服务器异常 北京常见软件开发参考价格 海南通用软件开发代理价格 服务器微信群 数据库设计属于系统设计的范畴 洛阳手游软件开发公司 首都网络安全日参与部门 承德盘古网络技术有限公司招聘 网络安全宣传官荣誉证书 网络教育数据库应用答案 信息网络安全的第二个时代 网络安全要学哪些内容呀 使用蓝牙耳机有网络安全隐患吗 邮箱服务器加密 家庭式无线网络安全设置 数据库到处命令 php表单存储数据库 计算机网络技术相近的专业 单片机内存数据库 权威微交易系统软件开发公司 如何查看当前数据库版本 谈谈生活中对于数据库的理解 北京软件开发一个月多少钱 alpha 数据库系统术语 查找游戏服务器ip
0