SSH实现免密登陆
SSH实现免密登陆配置
ssh实现免密码登录的配置过程,主要分为以下几个步骤:
- serverA生成密钥,包括私钥和公钥
- serverA将公钥传到serverB上
- serverA上配置serverB登陆的相关参数
serverA使用admin用户创建密钥
[root@serverA ~]# useradd admin
[root@serverA ~]# echo '123456' | passwd --stdin admin
Changing password for user admin.
passwd: all authentication tokens updated successfully.
[root@serverA ~]# su - admin
[admin@serverA ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_rsa): //直接回车
Created directory '/home/admin/.ssh'.
Enter passphrase (empty for no passphrase): //直接回车
Enter same passphrase again: //直接回车
Your identification has been saved in /home/admin/.ssh/id_rsa.
Your public key has been saved in /home/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:QrWAlLwUL0UNG/VYp5sH8/1R90iXb6aXr1OIege7dHQ admin@serverA
The key's randomart image is:
+---[RSA 3072]----+
| oo=*+o . . |
| =o =.= o .|
| ...+ o = ..+|
| .o * o o=|
| . S o o.+oE|
| . .o..*+|
| ..oooo|
| ..o.o..|
| ..o.o.|
+----[SHA256]-----+
[admin@serverA ~]$ ls ./.ssh/
id_rsa id_rsa.pub
在serverB上创建Centos用户
[root@serverB ~]# useradd Centos
[root@serverB ~]# echo "123456" | passwd --stdin Centos
Changing password for user Centos.
passwd: all authentication tokens updated successfully.
[root@serverB ~]# su - Centos
[Centos@serverB ~]$
将serverA上的公钥传到以Centos用户身份登录的serverB上
[admin@serverA ~]$ ssh-copy-id Centos@192.168.121.11
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/admin/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Centos@192.168.121.11's password: //输入Centos用户的密码
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'Centos@192.168.121.11'"
and check to make sure that only the key(s) you wanted were added.
用Centos用户身份登陆serverB,查看传输的公钥
[Centos@serverB ~]$ ls .ssh/
authorized_keys
[Centos@serverB ~]$ cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ5RO52kT73h9B9P1ttUQSfF5eVR+sJ7JG/XTmdtYDKM5Tmb9djUVMrzfzjRAcX8hdBRzcZqXVtg7VozVuJefsewmk+eu4dXTZfr0BbeaWuIj8lQRx9mMcqQSXfi41OZnYOKYfM/GQIGVWm99wP2JJwM6CUgoLZyxOVibnScTjoJNbW0I35BxuWg3MzVLImW8DxSl8USlN1RjBM6BaxGLSn1VpjPpyiolUDwGtOfCqF6iKOhhqRBiH8RiOsxEvZ+z5wwYT3uy/OvistRH+ur/3knplajON5H3ds9+9jQkNxk2w6fJv2bSMrKsOGsv6txeQoRw066LkdHRVuc4bjT4ZOCp7FZVAq4A9xWK51/lrbMWL2E7tt+JNsCR0NhJWLE28bzsdXP6/jo+VGxjtlMiLMkTq2h77eYDTlnZ0QS86OsD1yRBEsbIsLBTuMZXY3wSq67cGduUnc99Kye0EdYgam5PcSMBq86YIIq8eehg18QnVJo2yl8Q4pNLmEcqrXJM= admin@serverA
测试在serverA上用Centos用户登陆serverB
[admin@serverA ~]$ ssh Centos@192.168.121.11
Last login: Mon Dec 14 21:42:15 2020
[Centos@serverB ~]$
在serverA上修改登陆serverB相关参数,简化快速登陆serverB
首先在~/.ssh/目录下创建config文件
[admin@serverA ~]$ cd ~/.ssh/
[admin@serverA .ssh]$ touch config
[admin@serverA .ssh]$ ls
config id_rsa id_rsa.pub known_hosts
config文件的配置内容如下:
[admin@serverA .ssh]$ vim config
[admin@serverA .ssh]$ cat config
Host serverB
Hostname 192.168.121.11
Port 22
User Centos
- Host为服务器的名称,输入登录命令时使用,登录只需要用serverB即可
- Hostname为服务器的ip地址
- Port为ssh的端口
- User为服务器的用户名
配置好相关参数之后,需要给config修改权限,否则会报错
[admin@serverA ~]$ ssh serverB
Bad owner or permissions on /home/admin/.ssh/config //权限没修改就会登录报错
[admin@serverA ~]$ ll ~/.ssh/config
-rw-rw-r--. 1 admin admin 57 Dec 14 14:01 /home/admin/.ssh/config
[admin@serverA ~]$ chmod 600 ~/.ssh/config
[admin@serverA ~]$ ll ~/.ssh/config
-rw-------. 1 admin admin 57 Dec 14 14:01 /home/admin/.ssh/config
最后就可以简化登陆serverB了
[admin@serverA ~]$ ssh serverB
Last login: Mon Dec 14 21:57:35 2020 from 192.168.121.10
[Centos@serverB ~]$ hostname
serverB
[Centos@serverB ~]$
SSH实现免密登陆的更多相关文章
- ssh判断免密登陆
ssh判断免密登陆 [root@jenkins ~]# vi /opt/release_code.sh #!/bin/bash . /etc/init.d/functions #echo $WORKS ...
- SSH之免密登陆
又来了,上头让小轩我在服务器中写一个Shell脚本,主要用来在机器B中定时备份机器A中的一些文件.那么,小轩是怎么想的呢? 在小轩的知识库里,现在有scp和ssh两个玩具.别的还真没有其他什么东西了. ...
- ssh的免密登陆
想必大家都有使用ssh登陆的过程了,那么,怎么设置ssh免密登陆呢?下面有一些我的总结: 环境:服务器主.从 主服务器:192.168.1.1 从服务器:192.168.1.2 实现主服务器ssh登录 ...
- ssh 批量免密登陆
SSH第一次连接远程主机 公钥交换原理 1.客户端发起链接请求2.服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)3.客户端生成密钥对4.客户端用自己的公钥异或会话ID,计算出一个 ...
- gitlab 配置.ssh实现免密登陆
首次配置gitlab的.ssh时 安装gitbash 通过gitbash 配置.ssh 打开gitbash,输入如下命令生成ssh,邮箱换成自己的 ssh-keygen -t rsa -C " ...
- ssh pubkey免密登陆远程主机
二.公钥登录 每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性. 1.在本机生成密钥对 使用ssh-keygen命令生成密钥对: ssh-ke ...
- linux ssh免密登陆
大致流程: 两台linux系统A B 如果A要登陆到B 1.生成A的密钥对 2.将A的公钥拷贝到B的authorized_keys中即可 可以使用命令:ssh-copy-id -i ~/.ssh/id ...
- [提供可行性脚本] RHEL/CentOS 7 多节点SSH免密登陆
实验说明: 在自动化部署时,会经常SSH别的机器去操作,然而每次的密码认证却很令人烦躁,尤其是很长的密码,因此SSH免密登陆就显得必不可少: 在机器数目很多的时候,使用更过的往往是Ansible分发并 ...
- macos ssh host配置及免密登陆
windows下面有xshell 这样的可视化ssh管理工具 macos 下面使用终端做下简单配置,也非常方便,具体过程如下 生成秘钥 cd ~/.sshssh-keygen -t rsa 生成了私钥 ...
随机推荐
- 3w 字长文爆肝 Java 基础面试题!太顶了!!!
hey guys ,这不是也到了面试季了么,cxuan 又打算重新写一下 Java 相关的面试题,先从基础的开始吧,这些面试题属于基础系列,不包含多线程相关面试题和 JVM 相关面试题,多线程和 JV ...
- Qt信号槽源码剖析(一)
大家好,我是IT文艺男,来自一线大厂的一线程序员 大家在使用Qt开发程序时,都知道怎么使用Qt的信号槽,但是Qt信号槽是怎么工作的? 大部分人仍然不知道:也就是说大家只知道怎么使用,却不知道基于什么原 ...
- BUAAOO第二单元代码分析
第一次作业 设计思路与感想 第一次作业是要求有捎带的电梯实现, 第一次作业是花费的时间比较长的一次,花费了很多的时间去思考架构的问题.起初是想要搞三个线程的:输入线程,调度器线程和电梯线程,想要搞一个 ...
- 奇异值分解(SVD)与主成分分析(PCA)
本文中的内容来自我的笔记.撰写过程中,参考了书籍<统计学习方法(第2版)>和一些网络资料. 第一部分复习一些前置知识,第二部分介绍奇异值分解(SVD),第三部分介绍主成分分析(PCA).以 ...
- 《C++编程思想》部分章节学习笔记整理
简介 此笔记为<C++编程思想>中部分章节的学习笔记,主要是第15章--多态性和虚函数 的学习笔记,此外还有少量其他章节的内容. 目录 文档:<C++编程思想>
- Day01_10_Scanner 接收用户输入
Scanner函数 import java.util.Scanner; class ScannerTest { public static void main(String[] args){ Syst ...
- 重绘DevExpress的XtraMessageBox消息提示框控件
先来看提示框,可以看到框其实是一个去掉最大化.最小化按钮后的窗体,窗体的内容就是我们想要提示的内容,重绘提示框其实就是重绘窗体以及中间部分的内容. 首先重绘窗体,消息提示框的窗体不是XtraForm而 ...
- 读取ini配置文件 及 UI对象库
读取ini配置文件 配置项 读取API 写入API 实战:UI 对象库 读取ini配置文件 配置项 在每个 ini 配置文件中,配置数据会被分组(比如下述配置文件中的"config" ...
- Spring初识及其IOC入门
一.框架 框架是一些类和接口的集合,它一个半成品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架时直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度. 二.Spri ...
- hdu4862 费用流(不错)
题意: 给你一个矩阵,你最多可以选择k条路线,k条路线的起点随意,每次行走的距离随意,但是只能往右或者下走,走过的点不能再走,而且每一步如果a->b,如果a和b的权值s相等那么就可以 ...