`

Linux免密码登录配置,sshd配置免密码登录

阅读更多

Linux免密码登录配置ssh配置免密码登录

目的

在搭建Linux集群服务的时候,主服务器需要启动从服务器的服务,如果通过手动启动,集群内服务器几台还好,要是像阿里1000台的云梯hadoop集群的话,轨迹启动一次集群就得几个工程师一两天时间,是不是很恐怖。如果使用免密登录,主服务器就能通过程序执行启动脚步,自动帮我们将从服务器的应用启动。而这一切就是建立在ssh服务的免密码登录之上的。所以要学习集群部署,就必须了解linux的免密码登录。

原理
     使用一种被称为"公私钥"认证的方式来进行ssh登录. "公私钥"认证方式简单的解释是
首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)
然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥
当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了

提示(新手必读)

 

    (1)配置免登录前,请确保网络环境达到要求(后续内容有详细说明)
    (2)免登录其实是在本机生成两把锁,一把所谓的公钥是放到要登录的那台服务器上的,其实是一串文本。
    (3)被登录的服务器上只会有一个公钥文件,叫authorized_keys。如果被登录的服务器有多个客户端要连上来,就会把每个文本密钥存成一行。
    (4)客户端发送到服务器端的密钥文件一定要放到登录用户主目录的~/.ssh这个隐藏目录下,
    比如用hadoop用户登录到192.168.102.248服务器,如果hadoop的主目录是/home/hadoop,那么,密钥文件一定是在/home/hadoop/.ssh/下
    (5)如果直接将authorized_keys的文件从客户端通过scp或者ssh-copy-id方式发送到服务器端,会覆盖原来的文件,对其他用户有影响,所以发送时要进行改名后合并,

 

       
 

配置环境:

(1)服务器IP、名称、网卡信息

3台 Redhat 5.6 linux 64位系统内容如下:

IP地址:                   服务器名称      网卡名称       用户名        主目录

192.168.102.247      hadoop1          eth0              hadoop      /home/hadoop

192.168.102.248      hadoop2          eth0              hadoop      /home/hadoop            

192.168.102.249      hadoop3          eth0              hadoop      /home/hadoop          

 

配置准备:

  (1)添加用户

    

1. 以root用户分别登录各服务器。
 
2. 执行如下命令,创建用户。 
     useradd -d /home/hadoop -s /bin/bash -m hadoop 
3. 执行如下命令,为用户“hadoop ”设置密码。
     passwd hadoop 
4. 您需要根据系统的提示输入两次密码“aaaa@1111”。

5. 为“hadoop ”赋予“sudo”权限。
    a. 执行以下命令,添加“/etc/sudoers”文件的写权限。
    chmod u+w /etc/sudoers
    b. 使用vi编辑器,在“/etc/sudoers”文件中“root ALL=(ALL) ALL”后添加语句,如黑体部分  所示。 
    root       ALL=(ALL)       ALL
    hadoop  ALL=(ALL)       ALL
    c. 执行以下命令,删除“/etc/sudoers”文件的写权限。
    chmod u-w /etc/sudoers
 

 

 

  (2)配置网络

       (一)修改主机别名

       以root用户登录,依次修改每台服务器的主机信息,通过 vim /etc/hosts修改主机信息,加入主机别名

      如果主机IP是192.168.102.247,本机主机名是hadoop1,那么 /etc/hosts 文件的内容应该包含一下内容:

127.0.0.1       hadoop1 localhost
192.168.102.247 hadoop1
192.168.102.248 hadoop2
192.168.102.249 hadoop3

     如果主机IP是192.168.102.248,本机主机名是hadoop2,那么 /etc/hosts 文件的内容应该包含一下内容:

    

127.0.0.1       hadoop2 localhost
192.168.102.247 hadoop1
192.168.102.248 hadoop2
192.168.102.249 hadoop3

   如果主机IP是192.168.102.249,本机主机名是hadoop3,那么 /etc/hosts 文件的内容应该包含一下内容:

   

127.0.0.1       hadoop3 localhost
192.168.102.247 hadoop1
192.168.102.248 hadoop2
192.168.102.249 hadoop3

 

       

       (二)修改服务器主机名称 hostname

       以root用户登录,需要修改3个地方,hostname 指令,如果只修改这一处,重启电脑后还是会变回来。/etc/hosts主机文件, 这个地方修改是给DNS解析用的。单独修改也不行。只有三个地方同时修改才能算修改完成。修改完成后重启服务器

       【1】 hostname 指令中修改。

                直接输入hostname查看主机名是不是hadoop,如果不是,输入“hostname hadoop” 再输入 “hostname” 进行验证

      
              
 

       【2】使用 vim /etc/sysconfig/network 修改网络配置中主机名,将修改 HOSTNAME=hadoop

              
            
 

       【3】使用 vim /etc/hosts 修改主机文件中本机名称,修改127.0.0.1后面的名称为 hadoop2     localhost。

       
           
 

 

      (三)修改网卡名称 --(可选)

        1. 以root用户登录各服务器。
           
        2. 使用vi编辑器,修改“/etc/udev/rules.d/70-persistent-net.rules”文件 --- (如果服务器没有此文件就跳过)。如果是虚拟机,没有此文件,就不用修改 ,主要是修改NAME="eth0"
  

# PCI device 0x14e4:0x1713 (tg3)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:ec:0f:79:f

6", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 


        3. 使用vi编辑器,修改“/etc/sysconfig/network-scripts/ifcfg-eth0”文件。
            主要是DEVICE=“eth0"
           
         
 
        4. 执行reboot命令,重新启动服务器。
       
        5. 执行ifconfig命令,查看网卡名称。
            
           
 
        6. 参考“步骤1”至“步骤5”,将所有服务器的网卡名称设置为“eth0”。

 

  配置免登录

    (1)创建或者修改密钥目录权限 (此操作在所有服务器完成后再进入下一步)

假设本机的IP为“192.168.102.247”,配置免登录的操作步骤如下:
1. 以hadoop用户登录各服务器。
2. 执行以下命令,修改“.ssh 目录”权限。 
    chmod 755 ~/.ssh 
    说明:如果“.ssh”目录不存在,请在/home/hadoop目录执行 mkdir ~/.ssh 命令创建。
     
       
 

 

 (2)创建公钥和私钥(此操作在所有服务器完成后再进入下一步)

   

1. 以hadoop用户登录本机(假设本机的IP为“192.168.102.247”)。

2. 执行以下命令,进入“.ssh”目录。 
    cd /home/hadoop/.ssh

3. 执行以下命令后,如果提示,就一直按“Enter”键,直至生成公钥。 
    ssh-keygen -t rsa

 
         
 
     如果创建公钥和私钥后(黄色部分),提示的用户名hadoop@后面不是本机别名(上图红色部分),说明主机名称需要重新配置一次,然后记得重启,然后删除/.ssh目录下的公钥和私钥,重新生成,直到生成的密钥后缀是本机别名.
         

 
 

 

  (3)拷贝公钥到服务器(要登录上去的那台服务器)

    

1. 执行以下命令(假设本机是192.168.102.247),并根据提示输入登录密码,配置免登录。 
    scp id_rsa.pub hadoop@hadoop2:/home/hadoop/.ssh/authorized_keys_from_hadoop1
    scp id_rsa.pub hadoop@hadoop2:/home/hadoop/.ssh/authorized_keys_from_hadoop1 
执行完成后,目标服务器的/home/hadoop/.ssh/目录下就应该有一个authorized_keys_from_hadoop1文件

 
         
         
 

 

 (4)在被登录的服务器上生成公钥, 公钥合并

  

1. 登录到要被登录的服务器()进入./ssh目录
   cd ~/.ssh
2. 将客户端发送来的公钥文件进行合并
   cat authorized_keys_from_hadoop1 >> authorized_keys
   说明:如果authorized_keys不存在就会自动创建,如果存在就会追加
  

 
         
 

 

(5)验证

* 验证
    配置免登录完成后,在本机中输入“ssh hadoop@hadoop2” 或者 “ssh hadoop@192.168.102.248” 。
    * 如果无需输入密码,则表示配置免登录成功。
    * 如果仍需要输入密码,则可能是.ssh目录和文件权限需要修改。
        以下是正常情况:

         
 

(6) 目录文件权限修改方法

        以root用户登录,依次进入服务器、客户端,执行以下权限修改命令。如果还是不行,请重复 配置免登录操作(需要删除公钥和私钥再做一次)。

      

chown hadoop: ~/.ssh
chown hadoop: ~/.ssh/*
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

   
       
 修改权限后在登录,就应该能正常了。

 

参考过的文章:Hadoop 1.0.3 安装配置笔记

  • 大小: 33.4 KB
  • 大小: 4.8 KB
  • 大小: 3.1 KB
  • 大小: 1.6 KB
  • 大小: 6.9 KB
  • 大小: 14.1 KB
  • 大小: 13 KB
  • 大小: 9.5 KB
  • 大小: 1.6 KB
  • 大小: 6.3 KB
  • 大小: 2.4 KB
  • 大小: 8.6 KB
  • 大小: 2.6 KB
  • 大小: 7.7 KB
  • 大小: 1.9 KB
分享到:
评论

相关推荐

    Linux配置ssh免密码登录

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

    Linux sshd_config配置手册中文版

    Linux SSH服务的核心组件是`sshd`,它通过配置文件`/etc/ssh/sshd_config`来管理其行为。此配置文件控制着SSH服务器的各种安全和功能设置。配置文件中的每一项由指令和对应的值组成,每行一个,空行和以`#`开头的行...

    Linux服务器禁止密码登录,设置秘钥登录,sshd-config配置

    Linux服务器禁止密码登录,设置秘钥登录,sshd-config配置

    详解SSH如何配置key免密码登录

    通过以上内容的详细介绍,相信读者已经掌握了如何配置SSH Key实现免密码登录的过程及其背后的基本原理。这种方式对于自动化运维、批量部署等场景非常有用,有助于提高工作效率的同时保障系统的安全性。

    Linux下SSH免密码登录配置详解

    本文将详细介绍如何在Linux环境下配置SSH免密码登录。 首先,确保你有两台Linux服务器,分别称为server1和server2,它们的IP地址和登录用户名如标题和描述中所示。为了实现SSH免密码登录,你需要进行以下步骤: 1....

    cygwin安装sshd服务并配置无密码登录

    2. 安装sshd服务:打开Cygwin终端,使用`ssh-host-config`命令来配置sshd服务。在执行此命令时,你可能会遇到是否覆盖现有配置文件的询问,根据提示选择`yes`。 ``` Administrator@PC-***$ ssh-host-config ...

    postgres用户下ssh无密码登录

    在Postgres用户下实现SSH无密码登录,需要修改SSH配置文件。首先,需要修改/etc/ssh/sshd_config文件,添加以下配置: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ...

    两个openssh间免密码登录

    **第一步:修改服务端的sshd配置文件** - **编辑 `/etc/ssh/sshd_config` 文件:** - **PermitRootLogin**: 如果需要使用root用户进行免密码登录,请取消注释并设置为`yes`。 - **PubkeyAuthentication**: 取消...

    linux如何配置双机SSH信任然后双向免密码登陆.docx

    Linux 双机 SSH 信任配置与双向免密码登陆 Linux 双机 SSH 信任配置是指在两个 Linux 机器之间建立安全的信任关系,以便实现双向免密码登陆。这种配置方式使用公私钥认证机制,通过生成公私钥对,实现客户端到...

    linux安全登录配置(证书登录).docx

    在Linux系统中,为了增强服务器的安全性,通常会采用非密码认证方式,即证书登录,以减少因密码泄露带来的风险。本文将详细讲解如何配置Linux系统的安全登录,主要涉及公钥与私钥的生成、私钥的注册以及密码登录的...

    Linux 安装及SSH免密码设置

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

    Linux中的sshd_config文件.docx

    `sshd_config` 是 Linux 系统中 SSH 服务的核心配置文件,它位于 `/etc/ssh/` 目录下,用于控制 SSH (Secure Shell) 服务的行为。通过编辑 `sshd_config` 文件,管理员可以自定义 SSH 服务的各种参数,从而增强系统...

    Linux系统安全配置规范.docx

    1.2.1禁止SSH 空密码用户登录 安全基线项目名称 操作系统Linux安全基线要求项 安全基线项说明 禁止SSH空密码用户登录 安全基线要求 编辑文件/etc/ssh/sshd_config,将 PermitEmptyPasswords设置为:no 并重启服务 ...

    CentOS 6.5中SSH免密码登录配置教程

    2. **修改sshd配置**:编辑`/etc/ssh/sshd_config`文件,取消`RSAAuthentication`、`PubkeyAuthentication`和`AuthorizedKeysFile`行的注释,启用RSA和公钥认证。 3. **重启sshd服务**:执行`/sbin/service sshd ...

    sshd服务项目和ssh免密登录详细笔记和文档总结

    sshd 服务项目和 ssh 免密登录详细笔记和文档总结 ssh 服务项目是 Linux 系统中的一种安全shell 协议,用于远程登录和管理服务器。下面是 ssh 服务项目和 ssh 免密登录的详细笔记和文档总结: 一、ssh 服务项目 ...

    Linux_SSH配置和禁止Root远程登陆设置文档

    本文将详细介绍如何在Linux环境下配置SSH服务,特别是如何修改默认端口、禁止Root远程登录,以及如何设置公钥认证,从而加强系统的安全性。 #### 二、配置SSH服务 ##### 1. 修改默认端口 SSH服务默认监听在TCP...

    Linux系统基础开发配置

    在Linux系统上安装Java开发工具包(JDK)、MySQL数据库和Tomcat应用服务器也是基础开发配置的重要环节。安装JDK通常使用包管理器进行安装,例如在Ubuntu上可以使用`apt-get`命令: ```bash apt-get install openjdk...

    Linux下OpenSSH的配置.pdf

    配置文件通常位于/etc/ssh/sshd_config,其中包含了各种安全选项,如端口号、密码策略、密钥类型等。 为了增强安全,OpenSSH还支持各种高级特性,例如公钥认证、限制特定用户或IP的访问、使用SSH隧道等。此外,定期...

    Linux安全基线配置规范.docx

    本文将从账户管理、登录超时设置、限制管理员root远程登录、口令管理等方面,详细介绍 Linux 安全基线配置规范的要求和实施步骤。 3.1 账户管理 Linux 安全基线配置规范要求删除或锁定不使用的账户,以防止这些...

    linux configlinux服务器配置应用 配置文件

    5. `/etc/ssh/sshd_config`:SSH服务的配置,包括端口、加密算法、允许的登录方式等。 6. `/etc/sysconfig/network-scripts/ifcfg-eth0`(或其他网络接口):网络接口的配置,如IP地址、子网掩码、网关等。 7. `/etc...

Global site tag (gtag.js) - Google Analytics