假设服务器
IP
地址为
192.168.1.1
,机器名:
cluster.hpc.org
客户端
IP
地址为
172.16.16.1
,机器名:
p470-2.wangrx.sioc.ac.cn
客户端用户
yzhao
需要使用
ssh
无密码登录服务器的
zhaoy
帐户
实现原理
使用一种被称为"公私钥"认证的方式来进行ssh登录. "公私钥"认证方式简单的解释是
-
首先在客户端上
创建一对公私钥
(公钥文件:
~/.ssh/id_rsa.pub
;
私钥文件:
~/.ssh/id_rsa
)
-
然后把公钥放到服务器上
(
~/.ssh/authorized_keys
)
, 自己保留好私钥
-
当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了
设置如下:
1
、以
yzhao
用户登录客户机器并在客户端机器上执行
"ssh-keygen -t rsa"
(
注:每次执行
"ssh-keygen -t rsa"
产生的私钥文件都会不同
)
a
)如果文件
"~/.ssh/id_rsa"
存在,会提示是否覆盖该文件,此时可选择
"n"
不覆盖该文件而使用已有的
id_rsa
文件;如果选择
"y"
则会重新生成
"~/.ssh/id_rsa"
文件,接下来会提示输入
passphrase
,回车确定使用空的
passphrase
,再次回车确认(这里也可以输出
passphrase
,相当于
ssh
时登录的密码)。然后会重新生成
"~/.ssh/id_rsa"
文件和
"~/.ssh/id_rsa.pub"
文件(结果如下)。
[yzhao@p470-2 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/disk2/yzhao/.ssh/id_rsa):
/disk2/yzhao/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /disk2/yzhao/.ssh/id_rsa.
Your public key has been saved in /disk2/yzhao/.ssh/id_rsa.pub.
The key fingerprint is:
6d:a1:17:8a:b6:d2:c0:a1:6c:66:ba:85:0b:7b:9f:0c yzhao@p470-2.wangrx.sioc.ac.cn
b
)如果
"~/.ssh/id_rsa"
文件和
"~/.ssh/id_rsa.pub"
文件不存在则会自动创建新的
"~/.ssh/id_rsa"
文件和
"~/.ssh/id_rsa.pub"
文件,
passphrase
设置同上。
[yzhao@p470-2 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/disk2/yzhao/.ssh/id_rsa):
Created directory '/disk2/yzhao/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /disk2/yzhao/.ssh/id_rsa.
Your public key has been saved in /disk2/yzhao/.ssh/id_rsa.pub.
The key fingerprint is:
54:49:ad:33:b3:ff:71:da:6d:db:78:d0:bb:6a:15:bc yzhao@p470-2.wangrx.sioc.ac.cn
2
、使用
ssh zhaoy@192.168.1.1
登录到服务器,编辑服务器上
"~/.ssh/authorized_keys"
文件,将客户端机器上的
"~/.ssh/id_rsa.pub"
文件内容追加到
"~/.ssh/authorized_keys"
文件中。
(注:可以在客户端机器上使用以下命令来实现:
cat
~
/.ssh/
id_rsa
.pub | ssh
zhaoy@
192.168.1.
1
"cat - >> ~/.ssh/authorized_keys"
cat /root/.ssh/id_rsa.pub|ssh root@192.168.2.168 "cat - >> /root/.ssh/authorized_keys"
此时会要求输入
zhaoy
在服务器上的登录密码,输入后即会将客户端机器上的
"~/.ssh/id_rsa.pub"
文件内容追加到服务器上的
"~/.ssh/authorized_keys"
文件中)
如果是首次连接服务器会出现以下的提示,确认连接并输入密码后其他直接回车确定。
[yzhao@p470-2 ~]$ ssh zhaoy@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
RSA key fingerprint is 94:91:33:01:6b:e7:10:ae:42:ac:ea:5c:8c:bb:f1:18.
Are you sure you want to continue connecting (yes/no)?
yes
Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts.
zhaoy@192.168.1.1's password:
Last login: Fri Dec 21 17:41:38 2007 from 172.16.16.1
Rocks 4.2.1 (Cydonia)
Profile built 03:58 21-Jun-2007
Kickstarted 12:25 21-Jun-2007
Rocks Frontend Node - Our Cluster Cluster
It doesn't appear that you have set up your ssh key.
This process will make the files:
/home/zhaoy/.ssh/id_rsa.pub
/home/zhaoy/.ssh/id_rsa
/home/zhaoy/.ssh/authorized_keys
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zhaoy/.ssh/id_rsa):
Created directory '/home/zhaoy/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/zhaoy/.ssh/id_rsa.
Your public key has been saved in /home/zhaoy/.ssh/id_rsa.pub.
The key fingerprint is:
7e:f6:ab:b0:79:70:cb:c9:f7:40:37:aa:10:4d:4a:ac zhaoy@cluster.hpc.org
3
、如果在第
1
步中
使用了空的passphrase
,则可以跳过第
4
步,此时在客户端即可以使用
"ssh zhaoy@192.168.1.1"
即可无密码登录到服务器;如果第一步中设置了
passphrase
,则继续执行以下步骤。
4
、
如果第
1
步中设置了
passphrase
,则此时需要输入该
passphrase
登录服务器。
此时
前面我们把输入密码变成了输入passphrase
,
这没有带来任何方便
。
但是
我们可以通过
ssh-agent
来帮助我们自动输入
passphrase(只是看起来像是自动输入而已)
,
我们只要
在第一次登录时
输入一次passphrase, 以后的工作就可以交给ssh-agent
。在客户端机器上执行命令
ssh-add
,
这里会提示输入一次passphrase
。输入第一步中设置的
passphrase
之后会修改
"~/
.ssh
/
id_rsa
"
文件。再在客户端执行
"ssh zhaoy@192.168.1.1"
即可无密码登录到服务器端。
[yzhao@p470-2 ~]$ ssh-add
Enter passphrase for /disk2/yzhao/.ssh/id_rsa:
Identity added: /disk2/yzhao/.ssh/id_rsa (/disk2/yzhao/.ssh/id_rsa)
[yzhao@p470-2 ~]$ ssh zhaoy@192.168.1.1
Last login: Fri Dec 21 17:55:38 2007 from 172.16.16.1
Rocks 4.2.1 (Cydonia)
Profile built 03:58 21-Jun-2007
Kickstarted 12:25 21-Jun-2007
Rocks Frontend Node - Our Cluster Cluster
[zhaoy@cluster ~]$
分享到:
相关推荐
Linux 下设置 SSH 无密码登录 Linux 是一个流行的开源操作系统, SSH(Secure Shell)是 Linux 中的一种安全协议,允许用户远程登录到 Linux 服务器并执行命令。设置 SSH 无密码登录可以提高 Linux 服务器的安全性...
在Postgres用户下实现SSH无密码登录,需要修改SSH配置文件。首先,需要修改/etc/ssh/sshd_config文件,添加以下配置: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ...
**Linux SSH无密码登录配置详解**...通过以上步骤,你可以在Hadoop集群服务器节点之间实现SSH无密码登录,从而简化管理任务,提高运维效率。但请始终记住,安全是首要考虑的因素,合理设置权限和策略可以确保系统安全。
### Linux配置SSH免密码登录详解 #### 一、引言 在进行分布式系统如Hadoop集群的搭建过程中,为了提高效率并确保数据的安全性,通常需要实现节点间的免密码登录。这种方式通过使用SSH (Secure Shell) 的公钥/私钥...
本手册将详细介绍如何在Linux系统中设置SSH无密码登录,旨在帮助用户实现快速、便捷且安全的系统管理。 1.1 目的 本手册的主要目的是教给读者如何配置SSH服务,以便在Linux主机之间进行免密登录,减少手动输入密码...
为了提高效率和简化管理,常常需要在这些节点之间实现SSH免密码登录。 ##### 3.1 实现步骤 1. **在每个节点上生成密钥对**。 2. **复制其他节点的公钥**。 3. **将公钥添加到各节点的`authorized_keys`文件中**。 ...
以下是实现SSH无密码登录的详细步骤: 1. **生成密钥对**: 首先,在需要进行无密码登录的主机上,运行`ssh-keygen -t rsa`命令生成RSA类型的密钥对。这个过程会提示你保存私钥的文件路径,默认为`~/.ssh/id_rsa`...
Linux操作系统中的SSH服务,默认使用OpenSSH套件,可实现安全的无密码登录,方便管理员进行管理和维护。 无密码登录是通过SSH密钥认证来实现的,通常涉及两个密钥:私钥(id_rsa)和公钥(id_rsa.pub)。公钥需要被...
首先,要实现SSH免密登录,你需要在本地机器上生成一对密钥,包括私钥(id_rsa)和公钥(id_rsa.pub)。这个过程可以通过执行以下命令完成: ```bash ssh-keygen -t rsa -b 1024 ``` 这将生成一个2048位的RSA密钥...
标题提到的“linux实现vnc无密码登录”就是针对这种需求的一种解决方案,特别是通过修改turbo VNC的源代码来实现。 Turbo VNC是一款优化过的VNC服务器,它在保持低延迟的同时提供更好的性能。在标准的VNC设置中,...
在linux上实现几台机ssh无密码相互登录
本文将详细介绍如何在Linux环境下配置SSH服务,特别是如何修改默认端口、禁止Root远程登录,以及如何设置公钥认证,从而加强系统的安全性。 #### 二、配置SSH服务 ##### 1. 修改默认端口 SSH服务默认监听在TCP...
在CentOS服务器集群环境中实现SSH无密码登录是一种常见的操作需求,这有助于提高系统管理效率,并为自动化运维工具(如Ansible等)提供便利。本文将详细介绍如何在CentOS服务器集群上配置SSH免密码登录,并解决在...
为了提高工作效率并减少密码输入的繁琐过程,实现SSH免密码登录是一种非常实用的方法。本文将详细介绍如何通过公钥认证机制来实现SSH免密码登录,并基于给定文件中的步骤进行具体说明。 #### 二、基本原理 SSH免...
SSH免密码登录是Linux管理员常用的便捷功能,它允许用户在不同主机间进行身份验证时无需每次都输入密码,提高效率并减少手动输入密码带来的安全风险。本文将详细解释如何在Linux系统中设置SSH免密码登录。 首先,...
### dropbear实现免密码ssh登录方法 #### 一、引言 在IT运维与开发环境中,使用SSH(Secure Shell)协议进行远程管理是一项常见的需求。为了提高效率并减少人为输入密码的操作,通常会采用免密码登录的方式。...
这个脚本将自动将公钥复制到远程服务器,实现 SSH 无密码登陆。 Expect 的优点 ------------- Expect 有很多优点,例如: * 自动化脚本编写:Expect 可以自动化许多重复性的任务,例如自动化登录、文件传输、数据...