linux中,ssh实现免密自动登录到远程主机,ssh信任的实现
需求描述:
平时使用ssh的时候,一般使用ssh都是通过用户名和密码登录到远程主机上,
然后执行一些命令,远程登录过程中,需要手动的输入密码(提示输入密码之后),
但是,在实际的应用过程中,涉及到让脚本后台或者自动执行登录到远程主机来
执行一些命令,也就是要省略输入密码的过程即免密自动登录到远程主机。
实现过程:
1.在ssh的客户端生成认证密钥,执行以下命令创建ssh密钥
[mysql@redhat6 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mysql/.ssh/id_rsa):
Created directory '/home/mysql/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/mysql/.ssh/id_rsa.
Your public key has been saved in /home/mysql/.ssh/id_rsa.pub.
The key fingerprint is:
::ed::0d::d1::c9:c8:f6:f7:a6:a1:2b:ee mysql@redhat6
The key's randomart image is:
+--[ RSA ]----+
| ..+.o |
| +.= |
| .+. . |
| o =... |
| o + o.S. |
| . + . o |
| o . + |
| ... . |
| oE... |
+-----------------+
备注:通过-t参数指定加密算法类型为RSA,命令执行过程中需要输入内容时,一路回车就可以了,无需自行输入任何内容。
2.已经生成了ssh的密钥
[mysql@redhat6 ~]$ cd .ssh/
[mysql@redhat6 .ssh]$ ls
id_rsa id_rsa.pub
备注:
id_rsa.pub是生成的公钥,id_rsa是生成的私钥。
公钥id_rsa.pub必须要加入到远程服务~/.ssh/authorized_keys文件中,这台远程的服务器也就是我们想从当前主机自动登录到的那台服务器。
3.将生成的公钥的内容输入到远程主机~/.ssh/authorized_keys文件中
[mysql@redhat6 .ssh]$ ssh oracle@standby "cat >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub
The authenticity of host 'standby (192.168.53.12)' can't be established.
RSA key fingerprint is d2:b6:f9::::f8:3c:2c:dd::::2a::e3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'standby,192.168.53.12' (RSA) to the list of known hosts.
oracle@standby's password:
备注:根据提示输入远程主机用户oracle的密码。
注意:这里的oracle是远程主机的用户,也就是通过ssh免密要登录到哪个用户下,standby是远程主机的主机域名或者主机名。
或者,通过ssh-copy-id工具自动将公钥加入到远程的authorized_keys文件中
[mysql@redhat6 .ssh]$ ssh-copy-id oracle@standby
oracle@standby's password:
Now try logging into the machine, with "ssh 'oracle@standby'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
4.测试通过ssh登录到oracle@standby是否仍然需要密码
[mysql@redhat6 .ssh]$ ssh oracle@standby
Last login: Fri Mar :: from 192.168.53.1
[oracle@standby ~]$ exit
logout
Connection to standby closed.
备注:已经可以通过ssh免密码登录到standby主机的oracle用户下了。
5.可以将远程主机的主机名换成IP地址进程免密登录
[mysql@redhat6 .ssh]$ ssh oracle@192.168.53.12
Last login: Mon Mar :: from redhat6
[oracle@standby ~]$ exit
logout
Connection to 192.168.53.12 closed.
备注:将@后面的主机名standby换成了对应的IP地址192.168.53.12也是能够正常的免密登录。
小结:
通过以上的方法就实现了通过ssh免密登录远程主机,之后可以在远程主机上执行命令了,将ssh免密登录的内容放入到
相应的自动化脚本中,就实现了自动化的脚本执行。
文档创建时间:2018年3月12日10:59:30
linux中,ssh实现免密自动登录到远程主机,ssh信任的实现的更多相关文章
- CentOS下SSH远程免密登录服务器
.5服务器上配置,通过ssh远程免密登录192. 1.安装SSH,此处省略 2.生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面 [root@localhost ~ ::&&a ...
- Hadoop起步之图解SSH、免密登录原理和实现
1. 前言 emmm….最近学习大数据,需要搭建Hadoop框架,当弄好linux系统之后,第一件事就是SSH免密登录的设置.对于SSH,我觉得使用过linux系统的程序员应该并不陌生.可是吧,用起来 ...
- Linux OS 集群 免密登录
1. ssh-keygen 生成密钥 2. ssh-copy-id 集群主机名 参考: [图文详解]linux下配置远程免密登录
- Linux下配置远程免密登录
第一步: 输入ssh-keygen: [root@localhost zookeeper-3.5.7]# ssh-keygen Generating public/private rsa key pa ...
- 2019-10-11 ubuntu ssh远程免密登录配置及配置别名
在客户端能正常远程访问服务端的前提下. 客户端: 1)配置免密 执行 ssh-keygen 即可生成 SSH 钥匙,回车三次. 执行 ssh-copy-id user@remote,可以让远程服务器记 ...
- ssh批量免密
expect命令在linux下实现批量ssh免密 发布时间:2017-11-27 08:41:39 投稿:laozhang 本次文章主要给大家讲解了在linux系统下用expect命令实现批量ssh免 ...
- 多台linux主机之间建立免密通信
多台linux主机之间设置免密通信 例:A 向 B设置免密通信 第一步 A生成密钥对 ssh-keygen -t rsa -t 指定秘钥的类型 rsa 秘钥类型 密钥目录:/root/.ssh/(如果 ...
- linux修改主机名+免密认证+关闭防火墙
在很多软件安装的时候都有这些需求,因此在这里一起讲一下 修改主机名 简单的使用 hostnamectl 命令就好了 hostnamectl set-hostname NAME 免密认证 准备工作,修改 ...
- SSH localhost免密不成功 + 集群状态显示Configured Capacity: 0 (0 KB)
前一天运行hadoop一切安好,今天重新运行出现BUG.下面对遇到的bug.产生原因以及解决方法进行一下简单总结记录. [bug1]用ssh localhost免密登录时提示要输入密码. 原因分析:之 ...
随机推荐
- Java多线程面试大全
什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位,可以使用多线程对进行运算提速. 比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务 ...
- Maven打包可执行Jar的几种方法
http://m.blog.csdn.net/article/details?id=51871705
- MySQL修改root密码的多种方法(转)
http://jingyan.baidu.com/article/0320e2c198ad5f1b87507bc8.html ********************************* 方法1 ...
- kafka之partition分区及副本replica升级
修改kafka的partition分区 bin/kafka-topics.sh --zookeeper datacollect-2:2181 --alter --partitions 3 --topi ...
- 寻找最大的k个数问题
这是编程之美书第2.5节的一道题目. 各种解法: 解法一,用nlgn复杂度的排序算法对数组进行从大到小排序,取前K个.但这方法做了两件不必要做的事:它对想得到的K个数进行了排序,对不想得到的n-K个数 ...
- POST请求中,往URL传递数组
POST请求中,前端/客户端需要手动拼接URL,然后走接口跟后端交互. 若想传递数组,可以按照如下的拼接形式: &materialsTypeId=11&materialsTypeId= ...
- IPC介绍——10个ipcs例子
IPC介绍——10个ipcs例子 semaphorearrays2010performancesystemaccess ipcs是一个uinx/linux的命令.用于报告系统的消息队列.信号量.共享内 ...
- 配置Apache与PHP的环境
http://www.cnblogs.com/zhcncn/archive/2013/05/09/3068318.html 1. 下载 Apache版本号为2.2.22. 最好下载msi安装文件.下载 ...
- java资料——线程(转)
线程 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.另外,线程 ...
- div 画园
.destination1{ border: #666 solid 1px; box-shadow:-1px 1px 5px 0px #333; width:922px; height:485px; ...