ssh无密码登陆(转)

【0】写在前面

由于ssh 实现的是免密码登陆,大致步骤是:

    • 0.1) client通过ssh登陆到server;
  • 0.2) server检查家目录下的.ssh文件, 并发送公钥文件 authorized_keys 到client ;
  • 0.3) client端 接收到 server 端的公钥文件,并用自己的私钥文件对 其进行解析,并计算出 新的 公钥文件C;
  • 0.4) server段 接收到 client的 公钥文件C,并将其与 自身的公钥文件,进行匹配,(它有它自己的匹配算法, 这个你不管),如果匹配成功,则client 成功登陆到server;
  • (Attention): 看到这里,不得不说建立ssh 免密码登陆的中间过程确实很复杂,所以ssh对配置文件的访问权限,要求相当苛刻。如友人您,不根据本文的访问权限进行相应设置,使得最终无法建立免密码登陆,后果自负(这里只是为了强调 ssh 对 配置文件的访问权限 要求非常得严格!(过来人的感受,仅仅是你配置文件的访问权限不完全正确,ssh 一直无法实现 正常的免密码登陆, 很烧精力)

【1】安装ssh

server installation :sudo yum -y install openssh.i686
client installation: sudo yum -y install openssh-clients

【2】我的任务:

hadoop at hadoop0

(Client)免密码登录到

hadoop at hadoop1

(Server)

  • 2.1) 生成需要建立ssh的私钥和公钥(client操作)

    • Attention)
  • A1) ~/.ssh/ 目录必须要是 700 的权限才行!
  • A2)一个要特别注意的就是那个 id_rsa 的档案权限啦!他必须要是 -rw------- !否则在未来密钥比对的过程当中,可能会被判定为危险而无法成功的以公私钥成对档案的机制来达成联机喔。 (不过默认情况下,建立的文件都是符合以上要求的)
  • 2.2)在server的家目录上建立.ssh文件夹,访问权限设为700(server操作)
  • 2.3)将client的公钥档案数据上传到服务器上(client操作)

  • 2.4)将server的.ssh文件夹下面的 公钥文件名改为 authorized_keys,且访问权限改为 600 or 644(server操作)

  • 2.5) client 免密码登陆到 server

http://www.cnblogs.com/pacoson/p/4820940.html

 

 

时间: 2024-10-31 00:27:19

ssh无密码登陆(转)的相关文章

学习ssh之ssh无密码登陆

最近一个月没有写过文章,主要是刚刚换的新工作.新公司服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 刚好这几天有时间,也是工作需要,学习了下有关ssh密钥的知识. 在平时的工作中,我们登陆服务器,一般是使用ssh密码的方式.其实还有一种方式,那就是通过ssh密钥登陆服务器. 这两种方法都是ssh的安全验证方式,,根据验证方式的不同我们把其分为:基于密码的安全验证和基于密钥的安全验证. 注意:在一些文章中提到的ssh证书,其实就是ssh密钥. 一.ssh

批量设置ssh无密码登陆脚本

最近要给集群设置ssh无密码登陆,如果需要手动设置这个无密码登陆,所以在网上找了几个脚本,亲测下面这个好使,并且设置比较简单. 需要用root账户执行,我也是要给root账户设置无密码登陆. 首先我们要创建密码,执行下面这句命令: ssh-keygen -t rsa 脚本如下:我们仅仅需要修改的就是node=()里面的主机名就可以了,当前前提是你必须在/etc/hosts 配置了. #!/bin/bash node=(hadoop.Master hadoop.SlaveT1 hadoop.Sla

ubuntu server中ssh无密码登陆详解教程

新服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 在平时的工作中,我们登陆服务器,一般是使用ssh密码的方式.其实还有一种方式,那就是通过ssh密钥登陆服务器. 这两种方法都是ssh的安全验证方式,,根据验证方式的不同我们把其分为:基于密码的安全验证和基于密钥的安全验证. 注意:在一些文章中提到的ssh证书,其实就是ssh密钥. 一.ssh两种安全验证介绍 通过以上介绍,我们知道了ssh有两种安全验证方式,下面我们一一介绍其工作原理. 1.1 基于密码

大规模集群自动化部署SSH无密码登陆

大家需要在每个节点上提前装好"expect"工具 expect的使用请看我的另一篇文章: http://tianxingzhe.blog.51cto.com/3390077/1687661   spawn命令激活一个Unix程序来进行交互式的运行. send命令向进程发送字符串. expect命令等待进程的某些字符串 set timeout 1    设置超时时间  timeout -1 为永不超时 expect eof 只有spawn执行的命令结果才会被expect捕捉到,因为spa

SSH无密码登陆Agent admitted failure to sign using the key

A :CentOS_Master B:Slave_1 C:Slave_2 普通用户hxsyl 1.现在A 上 ssh-keygen -t rsa 一路回车,不需要输入密码 执行该操作将在/home/hxsyl/.ssh下生成id_rsa, id_rsa.pub文件,其中id_rsa.pub是公钥 2.scp /home/hxsyl/.ssh/id_rsa.pub hxsyl@B:.ssh/authorized_keys 3.登陆时候 出现Agent admitted failure to sig

解决SSH无密码登陆后又需要密码登陆

主节点CentOS_Master 从节点Slave_1. 我想着可能是 /etc/ssh/sshd_config下的那个公钥文件路径不对,看了下home/hxsyl/.ssh/authorized_keys,可能前面少个/,然后加行了,还不行,主节点用root登陆Slave_1是可以的,但是普通用户不行,我想着可能是权限不对,所以在SLave_1下的普通用户下设置,chmod 600 authorized_keys,然后root下service sshd restart,在在主节点下普通用户下就

Spark集群部署时SSH无密码登录问题

问题描述 我们是2台电脑各自装了一个VMware的虚拟机,里面是Ubuntu的系统进行操作,Spark集群一个是Master,一个是Slave1,在设置SSH无密码登陆时,Slave1把公钥发给Master时会出现:rootMaster'spassward,然后输入密码后出现:Persiondenied,pleasetryagain.这并不是密码错误的提示,而是权限不够的提示,按照网上改权限也没有效果,这是为什么需要怎么修改? 解决方案 解决方案二:不是应该将master的公钥发给slave吗解

ssh使用无密码登陆

本机IP为192.168.6.119远程IP192.168.6.202(server) 1,在本机输入ssh-keygen -r rsa 2,cd .ssh/   看到目录下面多了个.ssh目录,此目录刚开始是不存在的,在我们执行ssh-keygen -t  rsa 时生成的... 3,登陆到server上~目录下面创建一个隐藏的目录.ssh并修改其权限为700执行下面的命令  $cd ~  $mkdir .ssh  $sudo chmod 700 .ssh 4,登陆到本机scp id_rsa.

SSH无密码验证登录的实现(转摘)

  今天开始在集群中配置HADOOP, 三个节点,一个是NAME-NODE, 两个是DATA-NODE. 配置SSH无密码验证登陆时,不太成功.找了网上CASE. 原来是自建.ssh目录时,没有将权限设置为700,而AUTHORIZED_KEYS的权限要设置为600. 按以下文章配置后,一切OK. 是为记. ~~~~~~~~~~~~ http://www.2cto.com/os/201301/186673.html 1. 前期准备:  检查是否安装了SSH服务和rsync服务(rsync是一个远