Centos免密登陆
证书登录:
这里说的证书其实就是密钥. 在非对称加密中, 密钥分为公钥和私钥. 私钥, 即密钥所有人持有. 公钥则公布给他人. 公钥和私钥成对使用, 互相解密. 公钥加密数据只能用私钥解密; 私钥加密则只能用公钥解密(验证)
证书登录原理:
密钥对生成后, 公钥存储于远程服务器. 登录时远程服务器向客户端发送随机字符串, 客户端以私钥加密后返回服务器, 服务器再以公钥解密. 解密成功则证明客户端合法, 允许登录,生成的密钥仅对当前用户有效.
SSH免密码原理
1、client向Server 发出连接请求,
2、Server 端向client发出自己的公钥
3、client使用Server端的公钥加密通讯密钥然后发给Serve端
4、如果通讯过程被截获,由于窃听者即使获知公钥和经过公钥加密的内容,但不拥有私钥依然无法解密(RSA算法)
5、 Server端接收到密文后,用私钥解密,获知通讯密钥
/root/.ssh目录存放文件清单:
authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单
如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
1.创建公钥私钥:
ssh-keygen -t rsa
ssh-keygen是一个用来生成和管理ssh密钥的工具
-t参数用于指定密钥类型, 或者说加密算法. 本次使用rsa算法. 除此以外还有rsa1, dsa可选
2、将本地公钥写入authorized_keys. 目录下多出一个文件authorized_keys
3、将其他机器的公钥拷贝到服务器authorized_keys文件中:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.1.4
.常用以下几种方法:
通过ssh-copy-id的方式
1、ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.1.4
2、scp -p ~/.ssh/id_rsa.pub 10.0.1.4:/root/.ssh/authorized_keys
然后运行以下命令来将公钥导入到~/.ssh/authorized_keys这个文件中 $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
设置禁用密码登录
sudo vim /etc/ssh/sshd_config
# 禁止密码登录。原先为PasswordAuthentication yes
PasswordAuthentication no # 禁止 root 登录,看情况是否需要。原先为PermitRootLogin yes
PermitRootLogin no
service restart sshd.service
证书登陆:
如果使用证书登陆需要下载私钥
home/.ssh下私钥id_rsa下载到本地
sftp 常用命令:
- sftp user@ip
在 Linux 的 shell 中执行上面的命令后,Linux shell 会提示用户输入密码, 输入 password 之后就成功建立了 sftp 连接。 - help
建立连接后, Linux shell 中的 $ 变成 sftp>。 执行 help, 可以看 sftp 支持哪些命令。 - pwd 和 lpwd
pwd 是看远端服务器的目录, 即 sftp 服务器默认的当前目录。
lpwd 是看 linux 本地目录。 - ls 和 lls
ls 是看 sftp 服务器下当前目录下的内容
lls 是看 linux 当前目录下的内容。 - put a.txt
这个是把 linux 当前目录下的 a.txt 文件上传到 sftp 服务器的当前目录下。 - get b.txt
这个是把 sftp 服务器当前目录下的 b.txt 文件下载到 linux 当前目录下。$ get openssl-1.1.1i.tar.gz ~/
- !command
这个是指在 linux 上执行 command 这个命令, 比如!ls 是列举 linux 当前目录下的内容, !rm a.txt 是删除 linux 当前目录下的 a.txt 文件。 这个命令非常有用, 因为在 sftp> 后输入命令, 默认只针对 sftp 服务器的, 所以执行 rm a.txt 删除的是 sftp 服务器上的 a.txt 文件, 而非本地的 linux 上的 a.txt 文件。 - exit 和 quit
退出。
SSH 设置别名访问远程服务器
使用 cd ~/.ssh/
进入 ssh 目录,会看到有 config、known_hosts 两个文件,一般没有设置的话,只会有 known_hosts,可以使用 touch config 命令创建 config 文件。
使用 vim 编辑 config 文件,添加如下内容(或直接只用 cat >> 添加内容):cat >>~/.ssh/config<<EOF
Host xxx1
HostName 192.168.100.101
User root
IdentitiesOnly yes
Host xxx2
HostName 192.168.100.102
User root
IdentitiesOnly yes
Host xxx5
HostName 192.168.100.103
User root
IdentitiesOnly yes
EOF
其中:
- Host 后边的是名称,以后可以根据这个名称进行访问;
- HostName 是你的主机 IP 地址;
- User 为主机登录的用户名;
- IdentitiesOnly yes 固有配置;
Centos免密登陆的更多相关文章
- [提供可行性脚本] RHEL/CentOS 7 多节点SSH免密登陆
实验说明: 在自动化部署时,会经常SSH别的机器去操作,然而每次的密码认证却很令人烦躁,尤其是很长的密码,因此SSH免密登陆就显得必不可少: 在机器数目很多的时候,使用更过的往往是Ansible分发并 ...
- centos实现免密登陆及远程操作
----------------------------**********------------------------------------------------- 免密码登陆 第一步: 执 ...
- ssh免密登陆及时间设置
1.ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa // 在自己主机生成私钥和公钥 2.scp id_rsa.pub centos@s201:/home/centos ...
- CentOS7 开启免密登陆
1.开启免密登陆功能 以下文件 /etc/ssh/sshd_config 取消以下两项注释,如果没有添加. RSAAuthentication yes PubkeyAuthentication yes ...
- xshell 远程登陆CentOS7 免密登陆
首先说一下大体的思路: 1. 以密码登陆CentOS系统 2. 配置ssh 3. xshell 生成秘钥 4. 进行免密登陆 软件.设备: xshell(下载地址(免费版),也可以自行百度下载) Ce ...
- SSH实现免密登陆
SSH实现免密登陆配置 ssh实现免密码登录的配置过程,主要分为以下几个步骤: serverA生成密钥,包括私钥和公钥 serverA将公钥传到serverB上 serverA上配置serverB登陆 ...
- macos ssh host配置及免密登陆
windows下面有xshell 这样的可视化ssh管理工具 macos 下面使用终端做下简单配置,也非常方便,具体过程如下 生成秘钥 cd ~/.sshssh-keygen -t rsa 生成了私钥 ...
- SSH之免密登陆
又来了,上头让小轩我在服务器中写一个Shell脚本,主要用来在机器B中定时备份机器A中的一些文件.那么,小轩是怎么想的呢? 在小轩的知识库里,现在有scp和ssh两个玩具.别的还真没有其他什么东西了. ...
- ssh的免密登陆
想必大家都有使用ssh登陆的过程了,那么,怎么设置ssh免密登陆呢?下面有一些我的总结: 环境:服务器主.从 主服务器:192.168.1.1 从服务器:192.168.1.2 实现主服务器ssh登录 ...
随机推荐
- git总是需要输入用户名密码问题解决
解决办法: git bash进入你的项目目录,输入: git config --global credential.helper store 然后你会在你本地生成一个文本,上边记录你的账号和密码.当然 ...
- Machine Learning 02 学习笔记 卷积、感知机、神经网络
理解卷积公式. 卷积的物理意义. 图像的卷积操作. 卷积神经网络. 卷积的三层含义. 感知机. 感知机的缺陷. 总结. 神经网络. 缺陷. 激活函数
- eNSP路由器启动#号问题排查
1.删除拖出来的设备,重新拖出来一台---我用过[有时候好使] 2.确保Ensp的设置-工具-Virtual Box安装目录是否正确--我也遇到过[尤其是卸载掉Virtual Box重装之后] 3.确 ...
- SSM阶段学习-mybatis第一天
首先今天我尝试了使用IDEA软件链接数据库,创建数据库,创建表. 在pom文件下导入maven坐标 [<?xml version="1.0" encoding="U ...
- java的Integer中也会有缓存
在上篇<java的自动拆箱会发生NPE>博客中接收了java中的Integer中的自动拆箱产生的NPE,其实对于所有的包装类来说都是一样的,都会产生这样的问题,大家需要举一反三,做学问学知 ...
- JVM内存管理面试常见问题全解
目录 一.什么是JVM 1.jvm的三个组成部分 二.类加载系统 1.类的加载过程 2.类加载器 三.双亲委派机制 1.双亲委派机制介绍 2.为什么要双亲委派机制 3.双亲委派机制的核心源码 4.全盘 ...
- Linux的软件安装tomcat 以及jdk
因为tomcat的启动需要jdk,所以我们先安装jdk,安装完成后再安装tomcat 具体的文件大家可以到官网下载,下面介绍安装步骤 目录 jdk安装 1.通过xftp或者其他方式将安装包传到我们的L ...
- 论文解读(DCRN)《Deep Graph Clustering via Dual Correlation Reduction》
论文信息 论文标题:Deep Graph Clustering via Dual Correlation Reduction论文作者:Yue Liu, Wenxuan Tu, Sihang Zhou, ...
- Java基础语法Day_05(数组的概念)
第14节 数组 day05_01_数组的概念 day05_02_数组的定义格式一_动态初始化 day05_03_数组的定义格式二_静态初始化 day05_04_数组的定义格式三_省略的 ...
- jdk1.8中hashmap的扩容resize
当hashmap第一次插入元素.元素个数达到容量阀值threshold时,都会扩容resize(),源码: (假设hashmap扩容前的node数组为旧横向node数组,扩容后的node数组为新横向n ...