`
shmayl
  • 浏览: 36990 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

如何在两台linux服务器之间用RSA键对的方法SSH/SCP不需密码

阅读更多

两台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不需要密码详解 在日常运维工作中,经常需要在多台Linux服务器之间进行频繁的登录操作。为了提高效率并减少输入密码的繁琐步骤,可以通过配置SSH免密登录的方式来实现这一需求。本文将详细...

    postgres用户下ssh无密码登录

    SSH无密码登录是指在两台服务器之间,不需要输入密码便可实现登录的功能。本文将详细介绍Postgres用户下SSH无密码登录的实现方法。 一、修改SSH配置文件 在Postgres用户下实现SSH无密码登录,需要修改SSH配置文件...

    两台数据库服务器(linux)通过ssh来进行数据的的传输

    在两台Linux服务器之间进行数据传输之前,我们首先需要配置SSH免密码登录,以提高传输效率并减少人工干预。具体步骤如下: 1. **生成SSH密钥对**:在源服务器上执行命令`ssh-keygen -t rsa`生成RSA类型的公钥和私钥...

    scp传输不输入密码

    - **FTP**:通过FTP服务在两台Linux主机间复制文件。 - **Samba服务**:类似于Windows文件共享的方式,实现跨平台文件复制。 - **rsync**:除了scp外,还可以使用rsync命令,它提供了更高级的数据同步功能。 #### ...

    如何定时同步两台linux服务器的资料

    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自动登录详解** 在Linux环境中,SSH(Secure Shell)是一种安全的网络协议,用于在远程系统之间建立加密的通信。SSH自动登录允许用户无须输入密码就能登录到另一台服务器,这对于系统管理员执行...

    ssh免密码登录

    通过上述步骤,我们可以实现两台或多台服务器之间的SSH免密码登录,极大地提高了运维效率。当然,在实际部署过程中还需根据具体环境进行适当调整,并注意保护好私钥文件,防止未授权访问。希望本篇文章能帮助读者...

    linuxssh无密码登陆

    这种方法在多台服务器之间进行自动化运维或脚本操作时非常有用,提高了工作效率并降低了出错的可能性。但请注意,无密码登录虽然方便,也可能带来安全风险,因此建议只在信任的网络环境中使用,并定期更新密钥对以...

    服务器Centos集群上实现ssh无密码相互访问

    完成以上步骤后,就可以在集群内的任意两台服务器之间实现无密码登录了。 #### 测试无密码访问 为了验证配置是否成功,可以在master节点上尝试登录其他节点,例如: ```bash ssh hadoop@node1 ``` 如果配置正确,...

    linux建立ssh信任关系

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

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

    【服务器间通过SSH使用密钥对实现无密码登录】 在IT运维中,有时我们需要在多台服务器之间频繁地进行远程登录,每次输入密码可能会降低工作效率。SSH(Secure Shell)提供了一种安全的远程登录方式,而通过密钥对...

    ssh远程多机免密码的方法

    本文将详细介绍如何在多台Linux服务器之间实现SSH免密码登录,特别是在使用rsync进行数据同步时的应用。 #### 场景设定 设想我们拥有三台Linux服务器,分别命名为HPC001、HPC002和HPC003。为了高效地进行高性能...

    Linux两台服务器之间复制文件及免密码登录的方法

    本文将详细讲解如何在两台Linux服务器之间进行文件复制以及设置免密码登录,以简化日常运维工作。 首先,我们来看如何使用`scp`命令在两台服务器之间复制文件。`scp`(Secure Copy Protocol)是一个安全的文件传输...

    030102设置ssh互信及无密码登录

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在Linux系统中,SSH广泛用于管理员进行远程管理、自动化任务执行等操作。本篇文章将详细讲解如何设置SSH互信及实现无...

    基于SSH的linux 备份系统

    在备份完成后,使用`scp`命令将备份文件通过SSH无密码方式复制到另一台服务器,这样就实现了数据的远程备份。同样的方法也可以反向操作,将B服务器的数据备份到A服务器,从而达到双机互备的目的。 在这个过程中,...

    Linux远程拷贝之ftp与scp命令

    ssh-keygen 命令的使用方法也非常简单,例如,要生成一个 rsa 类型的密钥对,可以使用以下命令:ssh-keygen -b 1024 -t rsa 五、使用 scp 命令实现无密码传输 使用 ssh-keygen 命令生成的密钥对可以实现 scp 命令...

    secure crt用于SSH登录

    **SecureCRT:SSH登录Linux服务器的强大工具** SecureCRT是一款强大的远程终端模拟软件,它支持多种协议,包括Secure Shell (SSH1 和 SSH2),Telnet,Rlogin,Serial等,是Linux系统管理员进行远程管理的得力助手。...

    linux redhat下异地备份

    为了实现两台服务器间的SCP传输无需输入密码,首先需要配置SSH公钥认证。以下是在服务器A (IP: 192.168.1.250) 向服务器B (IP: 192.168.1.188) 进行免密码登录的步骤: **第一步:生成SSH密钥** - 打开终端,执行`...

    Linux使用ssh公钥实现免密码登录实例

    如果你想让两台机器A和B之间都能互相免密码登录,只需在每台机器上重复上述步骤,确保每台机器都有另一台机器的公钥添加到`authorized_keys`文件中。 `ssh-keygen`还有其他选项,如改变密钥的长度或设置自定义的...

    超好用的Linux上传和连接工具

    在Linux环境中,高效地进行...总结,Linux中的`SCP`和`SSH`是强大且安全的文件传输和远程连接工具,它们在运维工作中扮演着不可或缺的角色。了解并熟练掌握这些工具的使用方法,能极大地提高工作效率并保障数据安全。

Global site tag (gtag.js) - Google Analytics