`

配置ssh无需密码直接登录

 
阅读更多


Your aim

You want to use Linux and OpenSSH to automize your tasks. Therefore you need an automatic login from host A / user a to Host B / user b. You don't want to enter any passwords, because you want to call ssh from a within a shell script.

How to do it

First log in on A as user a and generate a pair of authentication keys. Do not enter a passphrase:

a@A:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa): 
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A

Now use ssh to create a directory ~/.ssh as user b on B. (The directory may already exist, which is fine):

a@A:~> ssh b@B mkdir -p .ssh
b@B's password: 

Finally append a's new public key to b@B:.ssh/authorized_keys and enter b's password one last time:

a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password: 

From now on you can log into B as b from A as a without password:

a@A:~> ssh b@B hostname
B

A note from one of our readers: Depending on your version of SSH you might also have to do the following changes:

  • Put the public key in .ssh/authorized_keys2
  • Change the permissions of .ssh to 700
  • Change the permissions of .ssh/authorized_keys2 to 640

对于putty,由于它的private key格式跟linux产生的不同,因此需要使用puttygen转换,方法可参见如下的文章:

http://hi.baidu.com/jyj888/blog/item/69dad2c388cd2138e4dd3b2d.html

 

分享到:
评论

相关推荐

    linux下怎样设置ssh无密码登录.docx

    Linux 下设置 SSH 无密码登录 Linux 是一个流行的开源操作系统, SSH(Secure Shell)是 Linux 中的一种安全协议,允许用户远程登录到 Linux 服务器并执行命令。设置 SSH 无密码登录可以提高 Linux 服务器的安全性...

    SSH无密码登录配置(主要针对Hadoop配置)

    在Hadoop这样的分布式计算环境中,SSH无密码登录配置至关重要,因为它简化了节点间的通信,提高了运维效率。以下是关于SSH无密码登录配置的详细解释。 **一、SSH原理** SSH通过加密网络数据流,确保在非安全网络上...

    Linux配置ssh免密码登录

    ### Linux配置SSH免密码登录详解 #### 一、引言 在进行分布式系统如Hadoop集群的搭建过程中,为了提高效率并确保数据的安全性,通常需要实现节点间的免密码登录。这种方式通过使用SSH (Secure Shell) 的公钥/私钥...

    Hadoop SSH免密码登录以及失败解决方案

    为了简化操作,管理员通常会配置SSH免密码登录,这样在不同节点间切换时无需反复输入密码。本文将详细介绍如何设置Hadoop SSH免密码登录,并提供解决登录失败问题的方法。 1. **创建SSH密钥对** 使用`ssh-keygen`...

    ssh免密码登录

    ### SSH免密码登录详解 #### 一、简介 在日常运维工作中,经常需要在多台服务器之间进行频繁的SSH连接操作。为了提高工作效率并减少密码输入的繁琐过程,实现SSH免密码登录是一种非常实用的方法。本文将详细介绍...

    WINSCP-SFTP SSH免密码登录

    **标题解析:** "WINSCP-SFTP SSH免密码登录" 指的是使用WINSCP工具通过SFTP(Secure File Transfer Protocol)协议,并利用SSH(Secure ...通过设置SSH密钥对实现免密码登录,既简化了操作流程,又加强了系统安全。

    linux系统的ssh免密码登录机制原理及实现范例

    5. 如果数据签名验证成功,则**A主机**可以无需密码登录到**B主机**。 ##### 1.2 文件权限与安全性 为了确保免密码登录的安全性,需要正确设置公钥和私钥的文件权限。通常情况下,私钥文件的权限应该设置为`600`,...

    expect配置单向ssh免密码登录

    为了解决这个问题,我们可以使用`expect`工具来配置SSH单向免密码登录。`expect`是Tcl语言的一个扩展,它能够自动应答交互式程序,如SSH登录过程中的密码提示。 首先,我们来理解SSH密钥对的生成和使用。SSH密钥对...

    ssh如何配置无密码远程登录1

    以下是如何在主机A和主机B之间配置SSH无密码登录的详细步骤: 1. **生成RSA密钥对**: 在主机A上,打开终端并执行以下命令来生成RSA公钥和私钥对: ``` ssh-keygen -t rsa ``` 这个命令将创建两个文件,...

    Linux系统SSH无密码登录配置

    在Hadoop集群服务器节点之间,为了方便管理和提高效率,我们通常会配置SSH无密码登录,这样可以在不同节点间进行快速切换而无需每次都输入密码。下面我们将详细讲解如何实现这一配置。 1. **生成SSH密钥对** 首先...

    dropbear实现免密码ssh登录方法

    - **免密码登录**:通过事先设置好的公钥-私钥对来认证用户身份,从而实现无需手动输入密码即可完成SSH登录的过程。 #### 三、实现步骤 1. **准备环境**:确保客户端和服务端均已安装Dropbear。 2. **清除原有配置*...

    Linux系统下如何做到SSH免密码登录

    本文将详细解释如何在Linux系统中设置SSH免密码登录。 首先,我们要理解SSH免密码登录的基本原理。这依赖于SSH密钥对,即一个公钥和一个私钥。公钥存储在远程服务器上,而私钥保留在本地机器上。当本地机器尝试连接...

    SSH无密码登录

    以上步骤利用了PuTTY工具来设置SSH无密码登录,适用于Windows用户。除此之外,还有其他工具或方法可以实现SSH无密码登录,例如使用OpenSSH在Linux和Unix系统中,通过同样的密钥对机制,但操作过程和界面略有不同。 ...

    Linux系统 ssh登录不需要密码

    SSH登录无需密码的功能是通过公钥认证机制实现的,这在管理多台服务器或者自动化运维时非常方便。下面将详细解释如何设置SSH登录免密以及相关知识点。 首先,要实现SSH免密登录,你需要在本地机器上生成一对密钥,...

    集群机器之间ssh免密登录

    因此,我们需要实现ssh免密登录,以便在集群机器之间实现无需密码的登录。 实现ssh免密登录需要使用ssh-keygen命令生成私钥公钥对。私钥用于身份验证,而公钥用于授权登录。在集群环境中,我们需要在每台机器上生成...

    虚拟机VMware下centos配置SSH免密码登陆

    例如,从`centos01`尝试连接`centos02`,使用`ssh hadoop01@192.168.152.138`,如果一切正常,应该可以直接登录而无需输入密码。 在VMware环境下,这样的配置特别有用,特别是在集群或分布式系统中,如Hadoop,需要...

    Linux系统ssh无密码登录设置手册.pdf

    设置SSH无密码登录通常包括以下步骤: 1. 在本地生成SSH密钥对,使用`ssh-keygen`命令。 2. 将本地的公钥复制到远程服务器,可以使用`ssh-copy-id`命令。 3. 配置远程服务器的`~/.ssh/authorized_keys`文件权限,...

    centos7 ssh免密登录自动化配置脚本(ps:已测试过)

    4. **使用expect模拟登录**:使用expect脚本模拟SSH登录过程,当SSH服务请求密码时,expect会自动提供私钥文件,实现无密码登录。 5. **错误处理和日志记录**:脚本应该包含错误处理代码,以应对网络问题、权限问题...

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

    本篇文章将详细讲解如何设置SSH互信及实现无密码登录,特别针对RedHat Linux操作系统。 首先,我们了解基本步骤: 1. **生成SSH密钥对**: 在主机A上,以用户名`user`登录,执行`ssh-keygen -t rsa`命令,这将...

Global site tag (gtag.js) - Google Analytics