为了方便管理,在需要频繁登陆机器,特别是在机器众多的时候,免密码登录系统就显得很需要了。
建立信任关系其实很简单……
模拟情况,A机器想要免密码用ssh登录B机器:
进行一下几步操作就可以完成免密码登陆了:
1、生成A机器的公私钥匙对,英文原文是这样的:Generating public/private rsa key pair.
用这条命令生成:ssh-keygen -b 1024 -t rsa
-b 选项是生成rsa钥匙对的位数,man手册中是这样描述的:
- Specifiesthenumberofbitsinthekeytocreate.ForRSAkeys,theminimumsizeis768bitsandthe
-
defaultis2048bits.Generally,2048bitsisconsideredsufficient.DSAkeysmustbeexactly1024
-
bitsasspecifiedbyFIPS186-2.
说远一点,SSH的密钥选择不止有rsa,还有dsa,还有其他……
这里推荐使用dsa,因为ssh-keygen在生成 DSA 密钥时,其长度只能为1024位(基于NIST FIPS 186-2);而 ssh-keygen 在 RSA 的密钥长度上没有限制。
(由于小于1024位密钥长度的 RSA 已经有被攻破的记录,所以RSA 2048 位密钥是更好的选择,也就是 -b 2048)
命令执行结果如下
- [root@localhost~]#ssh-keygen-b1024-trsa
- Generatingpublic/privatersakeypair.
- Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):
- Enterpassphrase(emptyfornopassphrase):
- Entersamepassphraseagain:
- Youridentificationhasbeensavedin/root/.ssh/id_rsa.
- Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.
- Thekeyfingerprintis:
-
40:44:8d:2c:20:bd:c0:1b:b2:01:9f:e8:f9:bb:db:67root@localhost.localdomain
可以看到公钥和私钥都生成在了.shh目录下,公钥为id_rsa.pub,私钥为id_rsa
2、拷贝A机器的公钥到B机器的.shh目录,加入到authorized_keys文件中
用这个命令:scp .ssh/id_rsa.pub root@B机器IP:/root/.ssh/
完成拷贝
3、登录B机器,追加A机器的公钥到B机器的认证文件中:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
OK,这个A机器到B机器的信任关系就建立好了。
你可以在A机器用SSH命令直接登录到B机器了。。。。。
--------------------------------------------------------------------------------------
另外一种拷贝公钥的方法,在生成好密钥对之后,使用下面这个命令:
1.[root@localhost ~]#ssh-copy-id -i id_rsa.pub root@machineB
-i 参数后面需要的是刚刚生成的id_rsa.pub公钥, ssh-copy-id 脚本会自动把id_rsa.pub里的内容追加到需要登录服务器的用户目录下,比如本例中的(/root/.ssh/authorized_keys中)
执行玩这条命令,即完成了信任关系的建立。
分享到:
相关推荐
在两台服务器之间建立信任关系解决scp,ssh等不用输入密码等问题.files.rar
实现从主机A直接 SSH 到主机B,C,无需密码 在LINUX配置主机信任时,对对端机(被免口令登录机器)的目录权限和文件权限相关说明:对端机的authorized_keys改为只有当前用户读取权限: $ chmod 600 authorized_keys ...
linux机器日常运维过程中,经常需要在本地... 1、建立主机间的ssh信任关系实现不输入密码的登录 假设需要建立从usr1@localhost到usr2@remote这两对(主机,用户)间的信任关系,可以分为3步: 1)生成usr1
针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是ftp连接就没辙了,况且,你不可能为了执行某些...
个人认为python的paramiko模块是运维人员必学模块之一,其ssh登录功能是旅行居家必备工具。 安装paramiko很简单,pip install paramiko就搞定了,其依赖库会被一并安装。 paramiko的官方站点在这里:...
在Linux环境下,两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方linux主机文件...通过建立信任关系,可以实现不输入密码,感兴趣的朋友跟着小编一起学习在Linux下用scp复制文件无需输入密码的技巧
本文研究的主要是python模块之paramiko的相关用法,具体实现代码如下,一起来看看。 paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。 1 ...
paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。 1 基于用户名和密码的 sshclient 方式登录 # 建立一个sshclient对象 ssh = paramiko.SSH...
3.1. 业务逻辑层接口及实现类 - 17 - 3.2. Struts2的Action调用业务逻辑 - 19 - 3.2.1. 登录Action--OpenIDLoginAction - 19 - 3.2.2. 进入的Action—FirstPageAction - 20 - 3.3. JSP页面 - 20 - 3.4. 运行示例 - ...
11.3.4 建立信任群 11.3.5 配置多NIS服务器 11.3.6 NIS固定端口设置 11.3.7 自动挂载NIS用户主目录 11.3.8 启动与停止NIS服务 11.3.9 NIS应用案例 11.4 客户端配置 11.4.1 所需软件 11.4.2 加入NIS域 11.4.3 修改...
147 第四章 网络安全协议 1 第四章 网络安全协议 SSL协议 SET协议 IPSec协议 2 因特网与TCP/IP安全-1TCP/IP协议栈 TCP/IP是一组通信协议的缩写 ISO/OSI模型及其与TCP/IP的关系 3 因特网与TCP/IP安全-IP协议 IP数据包...
4、使用SSH实现安全的登录 端口安全> ·SW端口安全是2层特性,提供3种保护: 1. 可以限定一个接口所能学习的MAC地址数量 2. 可以在一个接口静态绑定MAC地址 1.基于主机MAC来允许流量 ·可定义2个参数:授权...