两台linux服务器A和B
都编译安装上最新版的openSSH(建议)
openSSH的默认设置是允许root可以直接login. (PermitRootLogin yes),暂且保留这种设置,我们先考虑如何
用SSH直接从A到B不需要密码,假设用用户root登录到A,想SSH到B也作为root不需要密码。
1。 分别从A和B上登录作为root后运行/usr/bin/ssh-keygen -t rsa,目的是简单地在/root下创建目录.ssh,当提示输入
passphase时打入两次回车。这将生成/root/.ssh/identity and /root/.ssh/identity.pub
2。 先测试一下,从A登录作为root,打入#ssh B,会要求提示root password。
3。 现在从A登录作为root,运行scp /root/.ssh/identity.pub B:/root/.ssh/authorized_keys。
文件名必须不能弄错。
4。现在再从A运行#ssh B则不需要密码了:)
基本原理:
1。 如果你希望从A作为用户user1 SSH 到B 作为用户user2, 若要用RSA键对法认证且不需要密码,则B上的ssh
后台程序拿出~user2/.ssh/authorized_keys中的与A有关的RSA公钥来对A上的以user1身份运行的ssh客户程序
进行挑战,前面我们已经把A上的identity.pub拷贝到B上作为authorized_keys了。则A保持私钥identity,而B
上的sshd又拿出A的公钥来挑战,因此成功,你可以加很多行到authorized_keys以允许其它服务器的公钥可以加
进来。
常见应用举例:
1。 在A上以用户root SSH到B上作为普通用户user而不是root,因为为了安全,有时不需要作为root,只需要作
为普通用户不需要密码以完成相应工作即可。
登录作为root在A上
A# scp /root/.ssh/identity.pub user@B:/home/user/.ssh/authorized_keys
2. tar一批文件从A到B。
A# tar cvf - /etc | ( ssh B tar xvf -)
3. 运行A上的cronjob,对某文件作改动后传到B
0 1 * * * cat /etc/shadow | awk -F: {print $1":"$2} | (ssh B cat > /home/passwd)
常见问题:
1。 这种方式的SSH需要B上的sshd_config中允许直接的root login (PermitRootLogin yes).
2. 我有服务器A和其它服务器B,C,D。我想从A SSH到这些服务器但不要自动,最好输入RSA passphase,但太
麻烦,怎么办?
a. 要A上运行ssh-keygen时输入passphase字。
b. 要登录到A上后运行A#ssh-agent bash
c. 再运行ssh-add加passphase进入内存
d. 再运行ssh B or SSH C or SSH D,则不再需要密码,密码对只需输一次
e. 最后退出shell前输入ssh-agent -k 。
转帖自:http://hi.baidu.com/dianhui/blog/item/969208954925d90f7bf4809f.html
分享到:
相关推荐
### 两台Linux机器之间SSH不需要密码详解 在日常运维工作中,经常需要在多台Linux服务器之间进行频繁的登录操作。为了提高效率并减少输入密码的繁琐步骤,可以通过配置SSH免密登录的方式来实现这一需求。本文将详细...
SSH无密码登录是指在两台服务器之间,不需要输入密码便可实现登录的功能。本文将详细介绍Postgres用户下SSH无密码登录的实现方法。 一、修改SSH配置文件 在Postgres用户下实现SSH无密码登录,需要修改SSH配置文件...
在两台Linux服务器之间进行数据传输之前,我们首先需要配置SSH免密码登录,以提高传输效率并减少人工干预。具体步骤如下: 1. **生成SSH密钥对**:在源服务器上执行命令`ssh-keygen -t rsa`生成RSA类型的公钥和私钥...
- **FTP**:通过FTP服务在两台Linux主机间复制文件。 - **Samba服务**:类似于Windows文件共享的方式,实现跨平台文件复制。 - **rsync**:除了scp外,还可以使用rsync命令,它提供了更高级的数据同步功能。 #### ...
1. 在WEB1上生成ssh密钥对:`ssh-keygen -t rsa`(按回车键三次,不设置密码) 2. 使用ssh登录WEB2:`ssh root@192.168.1.110`,此时需要输入密码 3. 在WEB2上创建.ssh目录并设置权限:`mkdir .ssh; chmod 0700 .ssh...
**Linux服务器SSH自动登录详解** 在Linux环境中,SSH(Secure Shell)是一种安全的网络协议,用于在远程系统之间建立加密的通信。SSH自动登录允许用户无须输入密码就能登录到另一台服务器,这对于系统管理员执行...
通过上述步骤,我们可以实现两台或多台服务器之间的SSH免密码登录,极大地提高了运维效率。当然,在实际部署过程中还需根据具体环境进行适当调整,并注意保护好私钥文件,防止未授权访问。希望本篇文章能帮助读者...
这种方法在多台服务器之间进行自动化运维或脚本操作时非常有用,提高了工作效率并降低了出错的可能性。但请注意,无密码登录虽然方便,也可能带来安全风险,因此建议只在信任的网络环境中使用,并定期更新密钥对以...
完成以上步骤后,就可以在集群内的任意两台服务器之间实现无密码登录了。 #### 测试无密码访问 为了验证配置是否成功,可以在master节点上尝试登录其他节点,例如: ```bash ssh hadoop@node1 ``` 如果配置正确,...
建立SSH信任关系是免密登录的关键,它允许用户在两台主机之间进行无密码的SSH连接,增强了安全性,避免了每次登录时输入密码的麻烦。本文将详细解释如何在Linux环境中设置SSH信任关系。 首先,我们需要在客户端主机...
【服务器间通过SSH使用密钥对实现无密码登录】 在IT运维中,有时我们需要在多台服务器之间频繁地进行远程登录,每次输入密码可能会降低工作效率。SSH(Secure Shell)提供了一种安全的远程登录方式,而通过密钥对...
本文将详细介绍如何在多台Linux服务器之间实现SSH免密码登录,特别是在使用rsync进行数据同步时的应用。 #### 场景设定 设想我们拥有三台Linux服务器,分别命名为HPC001、HPC002和HPC003。为了高效地进行高性能...
本文将详细讲解如何在两台Linux服务器之间进行文件复制以及设置免密码登录,以简化日常运维工作。 首先,我们来看如何使用`scp`命令在两台服务器之间复制文件。`scp`(Secure Copy Protocol)是一个安全的文件传输...
SSH(Secure Shell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在Linux系统中,SSH广泛用于管理员进行远程管理、自动化任务执行等操作。本篇文章将详细讲解如何设置SSH互信及实现无...
在备份完成后,使用`scp`命令将备份文件通过SSH无密码方式复制到另一台服务器,这样就实现了数据的远程备份。同样的方法也可以反向操作,将B服务器的数据备份到A服务器,从而达到双机互备的目的。 在这个过程中,...
ssh-keygen 命令的使用方法也非常简单,例如,要生成一个 rsa 类型的密钥对,可以使用以下命令:ssh-keygen -b 1024 -t rsa 五、使用 scp 命令实现无密码传输 使用 ssh-keygen 命令生成的密钥对可以实现 scp 命令...
**SecureCRT:SSH登录Linux服务器的强大工具** SecureCRT是一款强大的远程终端模拟软件,它支持多种协议,包括Secure Shell (SSH1 和 SSH2),Telnet,Rlogin,Serial等,是Linux系统管理员进行远程管理的得力助手。...
为了实现两台服务器间的SCP传输无需输入密码,首先需要配置SSH公钥认证。以下是在服务器A (IP: 192.168.1.250) 向服务器B (IP: 192.168.1.188) 进行免密码登录的步骤: **第一步:生成SSH密钥** - 打开终端,执行`...
如果你想让两台机器A和B之间都能互相免密码登录,只需在每台机器上重复上述步骤,确保每台机器都有另一台机器的公钥添加到`authorized_keys`文件中。 `ssh-keygen`还有其他选项,如改变密钥的长度或设置自定义的...
在Linux环境中,高效地进行...总结,Linux中的`SCP`和`SSH`是强大且安全的文件传输和远程连接工具,它们在运维工作中扮演着不可或缺的角色。了解并熟练掌握这些工具的使用方法,能极大地提高工作效率并保障数据安全。