这里所说的ssh是指OpenSSH SSHclient。是用于登录远程主机。而且在远程主机上运行命令。它的目的是替换rlogin和rsh,同一时候在不安全的网络之上,两个互不信任的主机之间,提供加密的、安全的通信连接。X11连接和随意TCP/IPport均能够通过此安全通道转发。

在RedHat 6.1中,默认安装的OpenSSL是一种比較常见的SSH服务端和client软件。默认port是22。

SSH服务端事实上是一个守护进程(daemon),在后台执行并对应来自client的连接请求。服务端通常是sshd进程,提供了对远程连接的处理。一般包含公共密钥认证、密钥交换、对称密钥加密和非安全连接等。

SSHclient程序包含ssh程序。及scp(远程拷贝)、slogin(远程登录)、sftp(安全文件传输)等其它的应用程序。

在有些情况下,须要实现ssh的无password登录。或者称为免password登录。

比方:Hadoop的伪分布式模式部署、全然分布式模式部署。

配置

有两台主机:主机A:192.168.1.132,主机B:192.168.1.133,须要配置主机A无password登录主机A、主机B。

生成私钥、公钥

在主机A上:

$ cd ~/.ssh(假设没有改目录。直接创建一个)
$ ssh-keygen -t rsa

上面的ssh-keygen命令中。參数-t是生成密钥的方式,有三种方式:协议版本号1的rsa1、协议版本号2的rsa和dsa。

通常选rsa或dsa。既安全。又省事。

这个时候会打印一些运行结果及交互操作。一路回车就可以。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/lxh/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/lxh/.ssh/id_rsa.
Your public key has been saved in /home/lxh/.ssh/id_rsa.pub.
The key fingerprint is:
2e:34:7c:3a:be:e4:3b:93:2f:1d:32:4f:2d:fe:13:a1 lxh@master
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| . . |
| + So . |
| .o=E o |
| =O.o . |
| +=o+ . |
| =B.... |
+-----------------+

生成存放RSA/DSA的公钥

直接复制生成的id_rsa.pub文件就可以。

$ cp id_rsa.pub authorized_keys
$ chmod 600 authorized_keys

按理说此时就能够无password登录本机了,即通过命令:

$ ssh localhost

第一次须要输入一个yes,由于须要在第一次登录该主机时记录实用户登录。之后就不会出现了。

复制公钥

然后将公钥文件authorized_keys复制到主机B的同样位置上。

$ scp authorized_keys 192.168.1.133:~/.ssh

由于已经在主机A上改动过authorized_keys的权限,一般主机B上也是600格式。假设不是。就改动主机B上的authorized_keys文件权限为600。

$ chmod 600 authorized_keys

普通情况下,能够通过主机A无password登录主机A和主机B了。

FQA

登录时出现“Agent admitted failure to sign using the key.”

在~/.ssh文件夹中运行

$ ssh-add

出现以下的信息,就成了:

Identity added: /home/lxh/.ssh/id_rsa (/home/lxh/.ssh/id_rsa)

假设提示以下的信息:

Could not open a connection to your authenticationh agent

就运行:

ssh-agent bash

没有错误信息。但须要输入password登录

须要查看一下.ssh文件夹和authorizedkeys文件的权限,须要.ssh文件夹的权限为700,authorizedkeys文件的权限为600。假设主机A连接主机B,就在主机B上运行:

$chmod 700 ~/.ssh
$chmod 600 ~/.ssh/authorized_keys

ssh代理未开启

通过命令查看ssh代理是否开启

$ ps -ef|grep ssh-agent

假设开启了,直接kill掉,然后启动ssh代理。

$ ssh-agent

假设还是不行。就重新启动ssh服务:

# service sshd restart(须要root权限)

实现ssh的无password登录的更多相关文章

  1. ssh配置无password登录

    前提.机器A,B,均为RedHat Linux操作系统,均实用户user 1.以usernameuser登录,在A机器上运行 ssh-keygen -t rsa 一路回车.不须要输入password ...

  2. ssh 设置免password登录

    如果: 实现->操作机A机 要以用户"user1"身份.免password登录B机和C机? B机和C机 建立用户 user1 而且能够ssh 登录. A机设置: 1.安装ss ...

  3. CentOS, 高速设置ssh无password登录

    首先.保证能够ping通 然后运行例如以下命令, master登录slave master上面运行例如以下指令: 2.4 确认本机sshd的配置文件(root) $ vi/etc/ssh/sshd_c ...

  4. ssh 公钥无秘登录问题

    1. 验证服务启动,网络端口连接正常 可以使用nc,telnet,或者密码模式的ssh来验证 2. 验证ssh client端的配置正确 可以尝试登录另外一台主机, 或者本机自校验 3. 验证ssh ...

  5. SSH证书登录方式(无password验证登录)

    经常在工作中须要在各个Linux机间进行跳转,每次password的输入成了麻烦,并且也不安全.在实际使用中,在windows下常使用secureCRT工具或teraterm工具进行SSH登录.以及实 ...

  6. 多台计算机之间的ssh无密钥登录

    在很多分布式系统中,我们最常遇到的一个问题是,需要在服务器集群上保证多台机器之间的SSH无密钥登录.以Hadoop为例,为了方便,我们需要在master和slaves之间配置密钥登录,这样我们启动Ha ...

  7. Hadoop之——CentOS构造ssh否password登录注意事项

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46388809 前提配置:使用root登录改动配置文件:/etc/ssh/sshd_ ...

  8. centos6.5配置SSH免password登录

    创建新用户:useradd hadoop 设置password:passwd hadoop,输入自己想要的password就可以.之后su hadoop切换用户 改动主机名:vim /etc/sysc ...

  9. SSH无password登陆配置

    摘录一 在192.168.42.142机器上 1)执行:ssh-keygen -t rsa 2)然后拍两下回车(均选择默认) 3)执行: ssh-copy-id -i /root/.ssh/id_rs ...

随机推荐

  1. Spring的模块组成

    Spring的模块组成 1.核心容器:核心容器提供 Spring 框架的基本功能(Spring Core).核心容器的主要组件是 BeanFactory,它是工厂模式的实现. BeanFactory ...

  2. [LOJ2541][PKUWC2018]猎人杀(容斥+分治+FFT)

    https://blog.csdn.net/Maxwei_wzj/article/details/80714129 n个二项式相乘可以用分治+FFT的方法,使用空间回收可以只开log个数组. #inc ...

  3. 【对比分析三】CSS中 link 和@import 的区别

    1).  link 是 XHTML 标签,无兼容问题: @import 是在 CSS2.1 提出的,只有IE5以上才能识别. 2).  语法结构不同. link (链接式)只能放入HTML源码中,语法 ...

  4. HDU 1692 Destroy the Well of Life 水题

    Destroy the Well of Life Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showprob ...

  5. java并发基础(一)

    最近在看<java并发编程实战>,希望自己有毅力把它读完. 线程本身有很多优势,比如可以发挥多处理器的强大能力.建模更加简单.简化异步事件的处理.使用户界面的相应更加灵敏,但是更多的需要程 ...

  6. linux下TP5安装好Workerman 报错:Class 'think\worker\Server' not found

    今天把功能放到服务器,本地测试正常,上传到服务器上报错Class 'think\worker\Server' not found 首先想到的是Windows和Linux下大小写的问题,查看了代码,并没 ...

  7. DM6446开发攻略:UBOOT-2009.03移植及nand flash烧写

    有关DAVINCI U-BOOT的移植,以前写过一篇u-boot-1.3.4(2008年的),其实和这个u-boot-2009.03差别不大,只不过这个u-boot-2009.03是从TI的网站上下载 ...

  8. OPC Server开发的几大境界

    OPC server的开发相对OPC client 更加困难,OPC server 的开发主要应用COM技术,主要应用书籍为潘爱民写的<COM入门和应用>,大量的技术有很大的可重用性,在开 ...

  9. MVC实现多选下拉框

    借助Chosen Plugin可以实现多选下拉框. 选择多项: 设置选项数量,比如设置最多允许2个选项: 考虑到多选下拉<select multiple="multiple" ...

  10. MVC日期格式化,后台使用Newtonsoft.Json序列化日期,前端使用”f”格式化日期

    MVC控制器中,经常使用Newtonsoft.Json把对象序列化成json字符串传递到前端视图.当对象中有DateTime类型的属性时,前后台如何处理才能把DateTime类型转换成想要的格式呢? ...