SSH免密通信

1、SSH简介

Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。虽然任何网络服务都可以通过SSH实现安全传输,SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。使用频率最高的场合类Unix系统,
2、SSH免密登陆原理
SSH以非对称加密实现身份验证。身份验证有多种途径,例如其中一种方法是使用自动生成的公钥-私钥对来简单地加密网络连接,随后使用密码认证进行登录;另一种方法是人工生成一对公钥和私钥,通过生成的密钥进行认证,这样就可以在不输入密码的情况下登录。任何人都可以自行生成密钥。公钥需要放在待访问的计算机之中,而对应的私钥需要由用户自行保管。认证过程基于生成出来的私钥,但整个认证过程中私钥本身不会传输到网络中。
SSH免密通信
文章图片
原理 3、免密登录过程
【SSH免密通信】生成密钥
通过RSA算法进行加密,提示输入的话可直接回车不输入任何内容。
[bigdata@prod-bigdata-azkaban-A .ssh]$ ssh-keygen -t rsa

随后家目录下隐藏文件夹.ssh下会生成公钥密钥:
[bigdata@prod-bigdata-azkaban-A .ssh]$ pwd /home/bigdata/.ssh [bigdata@prod-bigdata-azkaban-A .ssh]$ ll total 24 -rw------- 1 bigdata bigdata 4120 Mar 25 17:58 authorized_keys -rw------- 1 bigdata bigdata 1675 Nov 22 16:10 id_rsa -rw-r--r-- 1 bigdata bigdata412 Nov 22 16:10 id_rsa.pub -rw-r--r-- 1 bigdata bigdata 6789 Mar 25 14:03 known_hosts

追加密钥
如果是A免密与B通信,就需要把A的公钥id_rsa.pub添加到B的authorized_keys文件中,反过来一样。

    推荐阅读