`
ynztpwl
  • 浏览: 55935 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SSH建立信任关系实现免输密码登陆

 
阅读更多

为了方便管理,在需要频繁登陆机器,特别是在机器众多的时候,免密码登录系统就显得很需要了。

建立信任关系其实很简单……

模拟情况,A机器想要免密码用ssh登录B机器:

进行一下几步操作就可以完成免密码登陆了:

1、生成A机器的公私钥匙对,英文原文是这样的:Generating public/private rsa key pair.

用这条命令生成:ssh-keygen -b 1024 -t rsa

-b 选项是生成rsa钥匙对的位数,man手册中是这样描述的:

  1. Specifiesthenumberofbitsinthekeytocreate.ForRSAkeys,theminimumsizeis768bitsandthe
  2. defaultis2048bits.Generally,2048bitsisconsideredsufficient.DSAkeysmustbeexactly1024
  3. bitsasspecifiedbyFIPS186-2.


说远一点,SSH的密钥选择不止有rsa,还有dsa,还有其他……

这里推荐使用dsa,因为ssh-keygen在生成 DSA 密钥时,其长度只能为1024位(基于NIST FIPS 186-2);而 ssh-keygen 在 RSA 的密钥长度上没有限制。

(由于小于1024位密钥长度的 RSA 已经有被攻破的记录,所以RSA 2048 位密钥是更好的选择,也就是 -b 2048)

命令执行结果如下

  1. [root@localhost~]#ssh-keygen-b1024-trsa
  2. Generatingpublic/privatersakeypair.
  3. Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):
  4. Enterpassphrase(emptyfornopassphrase):
  5. Entersamepassphraseagain:
  6. Youridentificationhasbeensavedin/root/.ssh/id_rsa.
  7. Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.
  8. Thekeyfingerprintis:
  9. 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

    在两台服务器之间建立信任关系解决scp,ssh等不用输入密码等问题.files.rar

    ssh_信任主机

    实现从主机A直接 SSH 到主机B,C,无需密码 在LINUX配置主机信任时,对对端机(被免口令登录机器)的目录权限和文件权限相关说明:对端机的authorized_keys改为只有当前用户读取权限: $ chmod 600 authorized_keys ...

    Linux主机如何实现无需输入密码的远程登录或脚本远程执行

    linux机器日常运维过程中,经常需要在本地...  1、建立主机间的ssh信任关系实现不输入密码的登录  假设需要建立从usr1@localhost到usr2@remote这两对(主机,用户)间的信任关系,可以分为3步:  1)生成usr1

    Shell脚本实现自动输入密码登录服务器

    针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是ftp连接就没辙了,况且,你不可能为了执行某些...

    python使用paramiko实现ssh的功能详解

    个人认为python的paramiko模块是运维人员必学模块之一,其ssh登录功能是旅行居家必备工具。 安装paramiko很简单,pip install paramiko就搞定了,其依赖库会被一并安装。 paramiko的官方站点在这里:...

    在Linux下用scp复制文件无需输入密码的技巧

    在Linux环境下,两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方linux主机文件...通过建立信任关系,可以实现不输入密码,感兴趣的朋友跟着小编一起学习在Linux下用scp复制文件无需输入密码的技巧

    python模块之paramiko实例代码

    本文研究的主要是python模块之paramiko的相关用法,具体实现代码如下,一起来看看。 paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。 1 ...

    Python paramiko模块的使用示例

    paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。 1 基于用户名和密码的 sshclient 方式登录 # 建立一个sshclient对象 ssh = paramiko.SSH...

    OpenID简介及与struts2_spring_hibernate框架集成

    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. 运行示例 - ...

    企业级Linux服务攻略

    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 修改...

    网络安全协议(PPT-146页).pptx

    147 第四章 网络安全协议 1 第四章 网络安全协议 SSL协议 SET协议 IPSec协议 2 因特网与TCP/IP安全-1TCP/IP协议栈 TCP/IP是一组通信协议的缩写 ISO/OSI模型及其与TCP/IP的关系 3 因特网与TCP/IP安全-IP协议 IP数据包...

    switch security.rar

    4、使用SSH实现安全的登录 端口安全> ·SW端口安全是2层特性,提供3种保护: 1. 可以限定一个接口所能学习的MAC地址数量 2. 可以在一个接口静态绑定MAC地址 1.基于主机MAC来允许流量  ·可定义2个参数:授权...

Global site tag (gtag.js) - Google Analytics