`
nigelzeng
  • 浏览: 603966 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多


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

 

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

 

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

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

 

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

 

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

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

 

Specifies the number of bits in the key to create.  For RSA keys, the minimum size is 768 bits and the
             default is 2048 bits.  Generally, 2048 bits is considered sufficient.  DSA keys must be exactly 1024
             bits as specified by FIPS 186-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 -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
40:44:8d:2c:20:bd:c0:1b:b2:01:9f:e8:f9:bb:db:67 root@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机器了。。。。。

 

--------------------------------------------------------------------------------------

另外一种拷贝公钥的方法,在生成好密钥对之后,使用下面这个命令:

 

[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中)

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

 

 

1
0
分享到:
评论

相关推荐

    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相对于之前的版本,可能包含了...

    Linux中配置双机SSH信任 操作说明

    在Linux环境中,配置双机SSH信任是一种常见的安全通信方式,它可以使得两台主机之间进行无密码登录,提高工作效率,同时减少因密码泄露带来的风险。本文将详细讲解如何在Linux系统中配置这种信任关系。 首先,我们...

    ssh远程控制

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

Global site tag (gtag.js) - Google Analytics