证书登录:

这里说的证书其实就是密钥. 在非对称加密中, 密钥分为公钥和私钥. 私钥, 即密钥所有人持有. 公钥则公布给他人. 公钥和私钥成对使用, 互相解密. 公钥加密数据只能用私钥解密; 私钥加密则只能用公钥解密(验证)

证书登录原理:

密钥对生成后, 公钥存储于远程服务器. 登录时远程服务器向客户端发送随机字符串, 客户端以私钥加密后返回服务器, 服务器再以公钥解密. 解密成功则证明客户端合法, 允许登录,生成的密钥仅对当前用户有效.

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 常用命令:

    1. sftp user@ip
      在 Linux 的 shell 中执行上面的命令后,Linux shell 会提示用户输入密码, 输入 password 之后就成功建立了 sftp 连接。
    2. help
      建立连接后, Linux shell 中的 $ 变成 sftp>。 执行 help, 可以看 sftp 支持哪些命令。
    3. pwd 和 lpwd
      pwd 是看远端服务器的目录, 即 sftp 服务器默认的当前目录。
      lpwd 是看 linux 本地目录。
    4. ls 和 lls
      ls 是看 sftp 服务器下当前目录下的内容
      lls 是看 linux 当前目录下的内容。
    5. put a.txt
      这个是把 linux 当前目录下的 a.txt 文件上传到 sftp 服务器的当前目录下。
    6. get b.txt
      这个是把 sftp 服务器当前目录下的 b.txt 文件下载到 linux 当前目录下。
      $ get openssl-1.1.1i.tar.gz ~/
    7. !command
      这个是指在 linux 上执行 command 这个命令, 比如!ls 是列举 linux 当前目录下的内容, !rm a.txt 是删除 linux 当前目录下的 a.txt 文件。 这个命令非常有用, 因为在 sftp> 后输入命令, 默认只针对 sftp 服务器的, 所以执行 rm a.txt 删除的是 sftp 服务器上的 a.txt 文件, 而非本地的 linux 上的 a.txt 文件。
    8. 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

其中:

    1. Host 后边的是名称,以后可以根据这个名称进行访问;
    2. HostName 是你的主机 IP 地址;
    3. User 为主机登录的用户名;
    4. IdentitiesOnly yes 固有配置;

Centos免密登陆的更多相关文章

  1. [提供可行性脚本] RHEL/CentOS 7 多节点SSH免密登陆

    实验说明: 在自动化部署时,会经常SSH别的机器去操作,然而每次的密码认证却很令人烦躁,尤其是很长的密码,因此SSH免密登陆就显得必不可少: 在机器数目很多的时候,使用更过的往往是Ansible分发并 ...

  2. centos实现免密登陆及远程操作

    ----------------------------**********------------------------------------------------- 免密码登陆 第一步: 执 ...

  3. ssh免密登陆及时间设置

    1.ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa // 在自己主机生成私钥和公钥 2.scp id_rsa.pub centos@s201:/home/centos ...

  4. CentOS7 开启免密登陆

    1.开启免密登陆功能 以下文件 /etc/ssh/sshd_config 取消以下两项注释,如果没有添加. RSAAuthentication yes PubkeyAuthentication yes ...

  5. xshell 远程登陆CentOS7 免密登陆

    首先说一下大体的思路: 1. 以密码登陆CentOS系统 2. 配置ssh 3. xshell 生成秘钥 4. 进行免密登陆 软件.设备: xshell(下载地址(免费版),也可以自行百度下载) Ce ...

  6. SSH实现免密登陆

    SSH实现免密登陆配置 ssh实现免密码登录的配置过程,主要分为以下几个步骤: serverA生成密钥,包括私钥和公钥 serverA将公钥传到serverB上 serverA上配置serverB登陆 ...

  7. macos ssh host配置及免密登陆

    windows下面有xshell 这样的可视化ssh管理工具 macos 下面使用终端做下简单配置,也非常方便,具体过程如下 生成秘钥 cd ~/.sshssh-keygen -t rsa 生成了私钥 ...

  8. SSH之免密登陆

    又来了,上头让小轩我在服务器中写一个Shell脚本,主要用来在机器B中定时备份机器A中的一些文件.那么,小轩是怎么想的呢? 在小轩的知识库里,现在有scp和ssh两个玩具.别的还真没有其他什么东西了. ...

  9. ssh的免密登陆

    想必大家都有使用ssh登陆的过程了,那么,怎么设置ssh免密登陆呢?下面有一些我的总结: 环境:服务器主.从 主服务器:192.168.1.1 从服务器:192.168.1.2 实现主服务器ssh登录 ...

随机推荐

  1. 【Android开发】分割字符串工具类

    public class TextUtils { public static String[] results; /** * 分隔符:"." * * @param resource ...

  2. audio小记

    写H5活动页的需要音频,图标旋转停止保持当时的旋转角度,这样视觉体验效果好: 之前写法是点击pause()就直接停止动画,后来发现了animation有个比较好的属性animation-play-st ...

  3. BootstrapBlazor实战 Chart 图表使用(1)

    BootstrapBlazor组件 Chart 图表介绍 通过给定数据,绘画各种图表的组件 本文主要介绍三种图表使用:折线图,柱状图,饼图 1.新建工程 新建工程b06chart,使用 nuget.o ...

  4. TINY语言采用递归下降分析法编写语法分析程序

    目录 自顶向下分析方法 TINY文法 消左提左.构造first follow 基本思想 python构造源码 运行结果 参考来源:聊聊编译原理(二) - 语法分析 自顶向下分析方法 自顶向下分析方法: ...

  5. vulnhub devguru渗透笔记

    devguru渗透笔记 信息收集 kali ip 目标ip 首先我们扫描一下开放端口 nmap -A -p- 192.168.20.143 Starting Nmap 7.91 ( https://n ...

  6. docker基础_网络模式

    docker网络 网络模式: bridge:docker默认 自己创建会默认使用bridge模式 类似vmware中的NAT模式 其中192.168.1.203是本机在现实世界局域网的ip.172.1 ...

  7. PostgreSQL与PostGIS安装使用时需要注意的坑

    最近些许繁忙,没有时间系统整理PostgreSQL和PostGIS的安装和使用方法.所以就简单记录一下遇到的坑. 1.找不到 libintl-9.dll 我安装的PostgreSQL版本是11.7,P ...

  8. Bugku CTF练习题---MISC---眼见非实

    Bugku CTF练习题---MISC---眼见非实 flag:flag{F1@g} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个压缩包,打开是一个Word文档,观察其中的内容,除了开 ...

  9. 快速了解Spring,简明Spring使用流程

    前言: 注意题目,这篇文章说的是操作,也就是重在应用,更多的是一个入门的或者说一篇概览,所以大佬们多多担待,不涉及底层分析和很多的源码,所以如果看官想看以上两者的可以划走了,有时间又不懒的话,可能以后 ...

  10. Docker中级篇,看这篇就对了

    点击上方"开源Linux",选择"设为星标"回复"学习"获取独家整理的学习资料! 姊妹篇: Docker容器网络-基础篇 十分钟看懂Dock ...