`
banditjava
  • 浏览: 160154 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

配置linux服务器之间ssh不用密码访问

阅读更多
在配置nutch的时候,我是采用三台服务器来实现的,现在详细讲述一下如何配置在ssh时不用密码来登录,这个也是配置nutch运行起来的前提。

现在linux1是主节点,它需要主动发起SSH连接到linux2和linux3,对于SSH服务来说,linux1就是SSH客户端,而linux2、linux3则是SSH服务端,因此在linux2,linux3上需要确定sshd服务已经启动。简单的说,在linux1上需要生成一个密钥对,即一个私钥,一个公钥。将公钥拷贝到linux2,linux3上,这样,比如当linux1向linux2发起ssh连接的时候,linux2上就会生成一个随机数并用linux1的公钥对这个随机数进行加密,并发送给linux1;linux1收到这个加密的数以后用私钥进行解密,并将解密后的数发送回linux2,linux2确认解密的数无误后就允许linux1进行连接了,这样就完成了一次公钥认证过程。

首先,在三台机器上同时加上nutch用户:
[root@linux1/2/3 nutch]# useradd nutch -d /nutch/home -g users
     
对于本文中的三台机器,在linux1上生成密钥对:
[nutch@linux1:~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/nutch/home/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /nutch/home/.ssh/id_rsa.
Your public key has been saved in /nutch/home/.ssh/id_rsa.pub.
The key fingerprint is:
40:b8:e9:8f:0a:f6:ce:e0:73:a8:6a:7e:52:b4:45:ca nutch@linux1

这个命令将为linux1上的用户nutch生成其密钥对,询问其保存路径时直接回车采用默认路径,当提示要为生成的密钥输入passphrase的时候,直接回车,也就是将其设定为空密码。生成的密钥对id_rsa,id_rsa.pub,默认存储在/nutch/home/.ssh目录下。然后将id_rsa.pub的内容复制到每个机器(也包括本机)的/nutch/home/.ssh/authorized_keys文件中,如果机器上已经有authorized_keys这个文件了,就在文件末尾加上id_rsa.pub中的内容,如果没有authorized_keys这个文件,直接cp或者scp就好了,下面的操作假设各个机器上都没有authorized_keys文件。

对于linux1
[nutch@linux1:.ssh]$ cp id_rsa.pub authorized_keys

对于linux2和linux3
[nutch@linux2:~]$ mkdir .ssh

对于linux1
[nutch@linux1:.ssh]$ scp authorized_keys linux2:/nutch/home/.ssh/
此处的scp就是通过ssh进行远程copy,此处需要输入远程主机的密码,即linux2机器上nutch帐户的密码

[nutch@linux2:.ssh]$ chmod 644 authorized_keys
这一步非常关键,必须保证authorized_keys只对其所有者有读写权限,其他人不允许有写的权限,否则SSH是不会工作的

[nutch@linux2:.ssh] ls –la
drwxr-xr-x  2 nutch users 4096 11月  5 13:31 .
drwx------  3 nutch users 4096 11月  5 13:27 ..
-rw-r--r--  1 nutch users  222 11月  5 13:31 authorized_keys
注意每个机器上的.ssh目录的ls -la都应该和上面是一样的

测试一下:
[nutch@linux1 .ssh]$ ssh linux3
[nutch@linux3 ~]$
很爽啊,不用再输入烦人的密码了

Nutch十八掌,打完收工!
分享到:
评论
4 楼 gcgmh 2008-11-15  
我的qq:112196069,你有时间的话,可加我一下e:gcgmh@yahoo.com,我是做搜索的,现在用的是lucene,想研究研究nutch.
3 楼 gcgmh 2008-11-15  
你的email或QQ,或MSN能留一个吗?我最近也在研究nutch及其分布式,能和你交流交流吗?
2 楼 banditjava 2008-11-06  
sunypzh 写道

做沙发呢,我一直关注你的博,你的搜索引擎技术,哈哈。。。不知能否将其运用在windows上。。。望有这方面的介绍,谢过。。。。

nutch在开发上有一定的局限性,虽然它是用java来开发的,但是相关的工具是用shell脚本来处理的,如果在要windows上实现的话,需要安装著名的cygwin来支持。如果有可能的话,可以做一些用bat实现一套。
1 楼 sunypzh 2008-11-06  
做沙发呢,我一直关注你的博,你的搜索引擎技术,哈哈。。。不知能否将其运用在windows上。。。望有这方面的介绍,谢过。。。。

相关推荐

    linux服务器JDK配置+防火墙配置+服务器之间SSH免密配置.pdf

    关于SSH免密配置,这是实现服务器之间远程无密码登录的关键步骤。配置过程中,需要在每台服务器上生成一对密钥对,并将公钥复制到所有参与免密登录的服务器的授权文件中。具体操作包括使用ssh-keygen命令生成密钥对...

    linux服务器SSH访问工具

    Linux服务器SSH访问工具,主要指的是SecureCRT,这是一个广泛使用的终端模拟器软件,尤其在IT行业中,对于远程管理和控制Linux服务器,SSH(Secure Shell)是一种安全的网络协议,它提供了加密的网络通信,确保数据...

    Linux配置ssh免密码登录

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

    两台linux机器之间ssh不需要密码详解

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

    登录linux服务器ssh软件

    标题中的“登录Linux服务器ssh软件”指的是使用SSH协议的客户端应用程序,允许用户从本地计算机连接到远程Linux服务器。这些客户端软件通常在Windows等非Linux操作系统上使用,因为这些系统原生并不包含SSH客户端。 ...

    SSH登陆LINUX服务器命令.doc

    通过 SSH 连接到 Linux 服务器,可以像控制自己的机器一样控制远程服务器。下面是 SSH 登陆 LINUX 服务器命令的详细知识点: 一、基本命令 * ssh [hostname] -u user:连接到远程 Linux 服务器,输入用户名和密码...

    配置 SSH 服务以使用证书登录 Linux 服务器.docx

    本文档介绍如何配置 SSH 服务以使用证书登录 Linux 服务器,包括生成私钥、公钥、配置 SSH 服务器、authorized_keys 文件的设置、PuTTY 生成密钥对、Linux 和 Windows 下的 SSH 客户端配置等方面的内容。 一、生成...

    Linux制作RSA KEY并配置SSH客户端或服务器免密码访问.pdf

    RSA密钥对在Linux系统中的制作和配置用于SSH客户端或服务器免密码访问的知识点包括以下内容: ### 一、制作RSA密钥对 1. **生成密钥对命令**:在Linux系统中,制作RSA密钥对的命令为`ssh-keygen`。该命令的参数`-t...

    Linux系统SSH无密码登录配置

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

    多台linux服务器相互无密码访问

    本文将详细介绍如何通过SSH密钥对的方式,在多台Linux服务器之间实现无密码访问。 #### SSH密钥对原理 在了解具体操作步骤之前,我们首先需要明确SSH密钥对的工作原理。SSH(Secure Shell)是一种加密网络协议,...

    ssh登录使用radius服务器认证配置方法

    完成所有配置后,尝试使用之前创建的测试用户通过SSH登录Linux服务器。如果一切正常,你应该能够成功登录,并且所有的登录尝试都将记录在RADIUS服务器上。 总结来说,通过在Linux系统上配置SSH服务与RADIUS服务器...

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

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

    linux 中ssh的安装与使用.doc

    在连接之前,需要确保测试机和 Linux 之间能够 ping 通,然后使用客户端软件连接到 Linux 服务器,输入用户名和密码后,即可远程登录到 Linux 服务器。 四、 SSH 的安全性 SSH 的安全性体现在多方面,包括身份验证...

    Linux 安装及SSH免密码设置

    本教程将详细讲解Linux的安装过程以及如何配置SSH以实现免密码登录。 一、Linux安装 1. **选择发行版**:Linux有许多发行版,如Ubuntu、CentOS、Fedora等。根据你的需求和熟悉程度,可以选择适合的版本。这里以...

    ssh加密访问服务器

    在Linux服务器上,你需要进行以下步骤来启用SSH密钥对认证: 1. 创建`.ssh`目录:在用户的主目录下,使用`mkdir -p .ssh`创建一个隐藏的`.ssh`目录。 2. 设置权限:确保`.ssh`目录具有适当的权限,运行`chmod 700 ....

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

    SSH免密码登录是Linux管理员常用的便捷功能,它允许用户在不同主机间进行身份验证时无需每次都输入密码,提高效率并减少手动输入密码带来的安全风险。本文将详细解释如何在Linux系统中设置SSH免密码登录。 首先,...

    Linux下Telnet、ssh服务的配置和使用

    ### Linux 下 Telnet 和 SSH 服务的配置与使用详解 #### 一、Telnet 服务配置及使用 **1. Telnet 安装** 在 Linux 系统中配置 Telnet 服务之前,需要确保系统已经安装了 Telnet 的客户端和服务端组件。一般情况下...

    linux ssh ssh

    1. 在Linux服务器上生成SSH密钥对:使用`ssh-keygen`命令生成公钥和私钥,通常默认存储在`~/.ssh`目录下。 2. 将公钥复制到Linux服务器:使用`ssh-copy-id`命令将本地的公钥复制到远程服务器的`~/.ssh/authorized_...

    windows下cmd中使用ssh命令访问Linux服务器的工具

    3. 将公钥复制到Linux服务器:使用`clip`命令(Windows的剪贴板工具)和SSH的`cat`命令将公钥内容复制到剪贴板,然后登录到Linux服务器,将公钥内容添加到`~/.ssh/authorized_keys`文件中,以实现无密码登录。...

    LinuxSSH使用ssh公钥密钥自动登陆linux服务器收集.pdf

    Linux SSH 使用ssh公钥密钥自动登录Linux服务器是一种常见的安全远程访问方法,它避免了每次登录时手动输入用户名和密码的繁琐过程。这种方法基于非对称加密,通过一对密钥——公钥和私钥——来确保只有拥有相应私钥...

Global site tag (gtag.js) - Google Analytics