为了方便管理,在需要频繁登陆机器,特别是在机器众多的时候,免密码登录系统就显得很需要了。
建立信任关系其实很简单……
模拟情况,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中)
执行玩这条命令,即完成了信任关系的建立。
分享到:
相关推荐
Linux 双机 SSH 信任配置是指在两个 Linux 机器之间建立安全的信任关系,以便实现双向免密码登陆。这种配置方式使用公私钥认证机制,通过生成公私钥对,实现客户端到服务器端的身份验证。 一、公私钥认证机制 公私...
建立SSH信任关系是免密登录的关键,它允许用户在两台主机之间进行无密码的SSH连接,增强了安全性,避免了每次登录时输入密码的麻烦。本文将详细解释如何在Linux环境中设置SSH信任关系。 首先,我们需要在客户端主机...
本文将详细解释如何在两台服务器之间建立信任关系,以实现scp和ssh无密码登录。 首先,我们需要理解ssh的工作原理。SSH是一种网络协议,用于加密网络连接,提供安全的远程登录和其他网络服务。默认情况下,当用户...
为了实现在多台服务器之间建立SSH无密码登录的信任关系,我们可以通过以下两个步骤来进行: 1. **生成公私钥对**:在一台服务器上使用`ssh-keygen -t rsa`命令生成公私钥对。 2. **分发公钥**:将生成的公钥分发到...
实现从主机A直接 SSH 到主机B,C,无需密码 在LINUX配置主机信任时,对对端机(被免口令登录机器)的目录权限和文件权限相关说明:对端机的authorized_keys改为只有当前用户读取权限: $ chmod 600 authorized_keys ...
在Solaris、Redhat Linux等操作系统上,可以采用这种方法来建立服务器间的信任关系,避免手动输入密码。 **步骤一:生成密钥对** 在每台服务器上,我们首先需要生成一对SSH密钥,包括一个私钥(private key)和一...
如果你无法建立信任连接,可能是以下原因造成的: - **密码错误**:确保输入了正确的用户名和密码。 - **公钥未配置**:如果你试图使用公钥认证,确保`~/.ssh/id_rsa.pub`(或相应路径下的公钥文件)已添加到远程...
1. **远程登录**:用户可以在Windows计算机上启动SSH客户端,输入Linux服务器的IP地址、端口号(默认为22)、用户名和密码,实现安全的远程登录。 2. **命令行交互**:连接建立后,用户可以在Windows的图形界面上像...
linux机器日常运维过程中,经常需要在本地... 1、建立主机间的ssh信任关系实现不输入密码的登录 假设需要建立从usr1@localhost到usr2@remote这两对(主机,用户)间的信任关系,可以分为3步: 1)生成usr1
在IT行业中,网络服务的远程访问管理是至关重要的,telnet和SSH(Secure Shell)是两种常见的远程登录协议,用于实现客户端与服务器之间的安全通信。本文将深入探讨这两种协议的工作原理、特点以及如何进行登陆验证...
针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是ftp连接就没辙了,况且,你不可能为了执行某些...
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。在Linux系统中,SSH是管理员和用户进行远程管理、文件传输等操作的常用工具。Windows用户通常会借助第三方软件来实现SSH...
6. **免密登录**:设置好公钥认证后,再次连接时就不需要输入密码了,实现了方便且安全的远程登录。 7. **安全注意事项**:保持SSH的最新版本,限制不必要的端口暴露,定期更换密码或密钥,以及使用防火墙规则来...
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。...通过练习这个"ssh登录小例子",你可以快速入门并建立起对SSH的信任和依赖,为后续更深入的系统管理打下基础。
- **远程登录**:PuTTY允许用户通过输入服务器的IP地址、端口号(默认22)和用户名来建立SSH连接,实现对远程服务器的登录。 - **命令行交互**:连接成功后,用户可以在PuTTY的窗口中输入Linux命令,执行各种系统...
首先,我们要建立两台机器间的信任关系,通常通过SSH(Secure Shell)协议来实现。在A机器上生成RSA类型的SSH密钥对,命令为`ssh-keygen -t rsa`,这会创建一个公钥(id_rsa.pub)和一个私钥(id_rsa)。然后,使用`...
在身份验证阶段,用户通过公钥/私钥对或密码与服务器建立信任关系;密钥交换阶段则确保即使通信被窃听,也无法解密数据;最后,所有传输的数据都会被加密,确保隐私不被泄露。 SSH2.1相对于之前的版本,可能包含了...
公钥认证是SSH的一种安全登录方式,用户可以在远程主机上存放自己的公钥,然后使用私钥进行身份验证,避免每次登录都需要输入密码。`~/.ssh/id_rsa`是私钥文件,`~/.ssh/known_hosts`则存储已知主机的公钥指纹。 4...
SSH Secure Shell Client是一款广泛使用的安全协议工具,专为远程登录Linux和UNIX系统设计,同时也支持FTP文件传输。在IT行业中,SSH(Secure SHell)是网络标准协议,用于加密网络连接,确保数据传输的安全性。...