`
ynztpwl
  • 浏览: 59480 次
  • 性别: 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中)

执行玩这条命令,即完成了信任关系的建立。

分享到:
评论

相关推荐

    linux如何配置双机SSH信任然后双向免密码登陆.docx

    Linux 双机 SSH 信任配置是指在两个 Linux 机器之间建立安全的信任关系,以便实现双向免密码登陆。这种配置方式使用公私钥认证机制,通过生成公私钥对,实现客户端到服务器端的身份验证。 一、公私钥认证机制 公私...

    linux建立ssh信任关系

    建立SSH信任关系是免密登录的关键,它允许用户在两台主机之间进行无密码的SSH连接,增强了安全性,避免了每次登录时输入密码的麻烦。本文将详细解释如何在Linux环境中设置SSH信任关系。 首先,我们需要在客户端主机...

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

    本文将详细解释如何在两台服务器之间建立信任关系,以实现scp和ssh无密码登录。 首先,我们需要理解ssh的工作原理。SSH是一种网络协议,用于加密网络连接,提供安全的远程登录和其他网络服务。默认情况下,当用户...

    批量实现ssh无密码登录

    为了实现在多台服务器之间建立SSH无密码登录的信任关系,我们可以通过以下两个步骤来进行: 1. **生成公私钥对**:在一台服务器上使用`ssh-keygen -t rsa`命令生成公私钥对。 2. **分发公钥**:将生成的公钥分发到...

    ssh_信任主机

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

    服务器间通过ssh使用密钥对实现无密码登录solaris.doc

    在Solaris、Redhat Linux等操作系统上,可以采用这种方法来建立服务器间的信任关系,避免手动输入密码。 **步骤一:生成密钥对** 在每台服务器上,我们首先需要生成一对SSH密钥,包括一个私钥(private key)和一...

    解决ssh信任连接问题

    如果你无法建立信任连接,可能是以下原因造成的: - **密码错误**:确保输入了正确的用户名和密码。 - **公钥未配置**:如果你试图使用公钥认证,确保`~/.ssh/id_rsa.pub`(或相应路径下的公钥文件)已添加到远程...

    ssh登陆软件Windows 登陆Linux

    1. **远程登录**:用户可以在Windows计算机上启动SSH客户端,输入Linux服务器的IP地址、端口号(默认为22)、用户名和密码,实现安全的远程登录。 2. **命令行交互**:连接建立后,用户可以在Windows的图形界面上像...

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

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

    telnet和ssh登陆验证

    在IT行业中,网络服务的远程访问管理是至关重要的,telnet和SSH(Secure Shell)是两种常见的远程登录协议,用于实现客户端与服务器之间的安全通信。本文将深入探讨这两种协议的工作原理、特点以及如何进行登陆验证...

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

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

    SSH远程登录linux

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。在Linux系统中,SSH是管理员和用户进行远程管理、文件传输等操作的常用工具。Windows用户通常会借助第三方软件来实现SSH...

    linux远程连接ssh

    6. **免密登录**:设置好公钥认证后,再次连接时就不需要输入密码了,实现了方便且安全的远程登录。 7. **安全注意事项**:保持SSH的最新版本,限制不必要的端口暴露,定期更换密码或密钥,以及使用防火墙规则来...

    ssh登录小例子

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。...通过练习这个"ssh登录小例子",你可以快速入门并建立起对SSH的信任和依赖,为后续更深入的系统管理打下基础。

    putty最常用的ssh客户段

    - **远程登录**:PuTTY允许用户通过输入服务器的IP地址、端口号(默认22)和用户名来建立SSH连接,实现对远程服务器的登录。 - **命令行交互**:连接成功后,用户可以在PuTTY的窗口中输入Linux命令,执行各种系统...

    打通两台机器间的信任关系,并分发文件

    首先,我们要建立两台机器间的信任关系,通常通过SSH(Secure Shell)协议来实现。在A机器上生成RSA类型的SSH密钥对,命令为`ssh-keygen -t rsa`,这会创建一个公钥(id_rsa.pub)和一个私钥(id_rsa)。然后,使用`...

    ssh2.1源码

    在身份验证阶段,用户通过公钥/私钥对或密码与服务器建立信任关系;密钥交换阶段则确保即使通信被窃听,也无法解密数据;最后,所有传输的数据都会被加密,确保隐私不被泄露。 SSH2.1相对于之前的版本,可能包含了...

    ssh远程控制

    公钥认证是SSH的一种安全登录方式,用户可以在远程主机上存放自己的公钥,然后使用私钥进行身份验证,避免每次登录都需要输入密码。`~/.ssh/id_rsa`是私钥文件,`~/.ssh/known_hosts`则存储已知主机的公钥指纹。 4...

    SSH登陆器工具(SSHSecureShellClient-3.2.9)

    SSH Secure Shell Client是一款广泛使用的安全协议工具,专为远程登录Linux和UNIX系统设计,同时也支持FTP文件传输。在IT行业中,SSH(Secure SHell)是网络标准协议,用于加密网络连接,确保数据传输的安全性。...

Global site tag (gtag.js) - Google Analytics