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 无密码登录 Linux 是一个流行的开源操作系统, SSH(Secure Shell)是 Linux 中的一种安全协议,允许用户远程登录到 Linux 服务器并执行命令。设置 SSH 无密码登录可以提高 Linux 服务器的安全性...
在Hadoop这样的分布式计算环境中,SSH无密码登录配置至关重要,因为它简化了节点间的通信,提高了运维效率。以下是关于SSH无密码登录配置的详细解释。 **一、SSH原理** SSH通过加密网络数据流,确保在非安全网络上...
### Linux配置SSH免密码登录详解 #### 一、引言 在进行分布式系统如Hadoop集群的搭建过程中,为了提高效率并确保数据的安全性,通常需要实现节点间的免密码登录。这种方式通过使用SSH (Secure Shell) 的公钥/私钥...
为了简化操作,管理员通常会配置SSH免密码登录,这样在不同节点间切换时无需反复输入密码。本文将详细介绍如何设置Hadoop SSH免密码登录,并提供解决登录失败问题的方法。 1. **创建SSH密钥对** 使用`ssh-keygen`...
### SSH免密码登录详解 #### 一、简介 在日常运维工作中,经常需要在多台服务器之间进行频繁的SSH连接操作。为了提高工作效率并减少密码输入的繁琐过程,实现SSH免密码登录是一种非常实用的方法。本文将详细介绍...
**标题解析:** "WINSCP-SFTP SSH免密码登录" 指的是使用WINSCP工具通过SFTP(Secure File Transfer Protocol)协议,并利用SSH(Secure ...通过设置SSH密钥对实现免密码登录,既简化了操作流程,又加强了系统安全。
5. 如果数据签名验证成功,则**A主机**可以无需密码登录到**B主机**。 ##### 1.2 文件权限与安全性 为了确保免密码登录的安全性,需要正确设置公钥和私钥的文件权限。通常情况下,私钥文件的权限应该设置为`600`,...
为了解决这个问题,我们可以使用`expect`工具来配置SSH单向免密码登录。`expect`是Tcl语言的一个扩展,它能够自动应答交互式程序,如SSH登录过程中的密码提示。 首先,我们来理解SSH密钥对的生成和使用。SSH密钥对...
以下是如何在主机A和主机B之间配置SSH无密码登录的详细步骤: 1. **生成RSA密钥对**: 在主机A上,打开终端并执行以下命令来生成RSA公钥和私钥对: ``` ssh-keygen -t rsa ``` 这个命令将创建两个文件,...
在Hadoop集群服务器节点之间,为了方便管理和提高效率,我们通常会配置SSH无密码登录,这样可以在不同节点间进行快速切换而无需每次都输入密码。下面我们将详细讲解如何实现这一配置。 1. **生成SSH密钥对** 首先...
- **免密码登录**:通过事先设置好的公钥-私钥对来认证用户身份,从而实现无需手动输入密码即可完成SSH登录的过程。 #### 三、实现步骤 1. **准备环境**:确保客户端和服务端均已安装Dropbear。 2. **清除原有配置*...
本文将详细解释如何在Linux系统中设置SSH免密码登录。 首先,我们要理解SSH免密码登录的基本原理。这依赖于SSH密钥对,即一个公钥和一个私钥。公钥存储在远程服务器上,而私钥保留在本地机器上。当本地机器尝试连接...
以上步骤利用了PuTTY工具来设置SSH无密码登录,适用于Windows用户。除此之外,还有其他工具或方法可以实现SSH无密码登录,例如使用OpenSSH在Linux和Unix系统中,通过同样的密钥对机制,但操作过程和界面略有不同。 ...
SSH登录无需密码的功能是通过公钥认证机制实现的,这在管理多台服务器或者自动化运维时非常方便。下面将详细解释如何设置SSH登录免密以及相关知识点。 首先,要实现SSH免密登录,你需要在本地机器上生成一对密钥,...
因此,我们需要实现ssh免密登录,以便在集群机器之间实现无需密码的登录。 实现ssh免密登录需要使用ssh-keygen命令生成私钥公钥对。私钥用于身份验证,而公钥用于授权登录。在集群环境中,我们需要在每台机器上生成...
例如,从`centos01`尝试连接`centos02`,使用`ssh hadoop01@192.168.152.138`,如果一切正常,应该可以直接登录而无需输入密码。 在VMware环境下,这样的配置特别有用,特别是在集群或分布式系统中,如Hadoop,需要...
设置SSH无密码登录通常包括以下步骤: 1. 在本地生成SSH密钥对,使用`ssh-keygen`命令。 2. 将本地的公钥复制到远程服务器,可以使用`ssh-copy-id`命令。 3. 配置远程服务器的`~/.ssh/authorized_keys`文件权限,...
4. **使用expect模拟登录**:使用expect脚本模拟SSH登录过程,当SSH服务请求密码时,expect会自动提供私钥文件,实现无密码登录。 5. **错误处理和日志记录**:脚本应该包含错误处理代码,以应对网络问题、权限问题...
本篇文章将详细讲解如何设置SSH互信及实现无密码登录,特别针对RedHat Linux操作系统。 首先,我们了解基本步骤: 1. **生成SSH密钥对**: 在主机A上,以用户名`user`登录,执行`ssh-keygen -t rsa`命令,这将...