| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 科普扫盲---ssh免密登陆(ssh的一些小秘密) -> 正文阅读 |
|
[系统运维]科普扫盲---ssh免密登陆(ssh的一些小秘密) |
ssh协议和tcp/ip 协议一样非常的重要,那么,如何使用这个ssh呢?这个协议到底有什么用处呢? 一, ssh协议是什么 ssh是secure SHell的简写,意思为安全的shell,中文也叫安全的外壳协议(是不是比较喜感的一个名称?),那,既然都是shell了,自然是有shell的那些特征啦。 SSH 主要由三部分组成: 传输层协议 [SSH-TRANS] 提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。 SSH-TRANS 通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。 SSH-TRANS 提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。 用户认证协议 [SSH-USERAUTH] 用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS 上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H )。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护。 连接协议 [SSH-CONNECT] 将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11 连接。 ssh的最主要的作用就是可以远程登陆服务器,使得距离不能成为我们的物理限制。二, ssh的实际应用 ssh在很多运维工具中都使用到了,比如,常用的xshell,secure CRT, 这些运维工具都是通过ssh协议来远程登陆服务器的哦。 ssh还有跳转登陆服务器的功能,在集群的内部经常会使用ssh登陆其它的服务器。 ssh还可以应用在脚本内,使得管理大批量的服务器并完成一些简单的自动化工作成为可能。但,ssh通常是点对点的登陆,因此,Apache开发出了基于Python的ansible 以及其它组织开发的saltstrack等等大批量自动化运维工具。 三, ssh免密登陆的配置 (1) 通常的带密码验证的ssh登陆 端口问题: 这里需要提醒各位,ssh默认的端口是22,但,默认的端口并不是非常安全的,因此,在实际的生产活动中通常是会更改sshd服务的端口,也就是默认端口更改为自定义的端口了。 通常我们要ssh远程登陆一个服务器,命令是这样的:
那么,上面的写法是省略了很多东西的,其实完整的ssh命令是如下的:
当我们回车后,将会要求输入目标主机的用户和密码进行验证,比如上面这条命令是要求验证 192.168.0.16这个远程主机的root用户的密码,如果密码错误,将会要求重新输入,直到三次密码输入错误,关闭ssh连接。 (2) sshd服务端口自定义更改
(3) 前面都是一些基础的科普知识,现在开始免密配置啦。(假设,是两个服务器之间的免密,192.168.0.16和192.168.0.17,都是配置root用户的免密哦,sshd服务端口都已更改为2233啦)
(4) 免密的原理揭示:
以上需要注意,在提示输入密码的时候一定要回车,不要输入密码。也就是在提示?Enter passphrase (empty for no passphrase)的时候回车,然后在下一个提示仍然回车,不要输入任何密码。 ssh-keygen 这个命令会在/root/.ssh/目录下生成两个文件,一个是公钥 id_rsa.pub 一个是私钥 id_rsa。 这里要说一个ssh的小秘密了,我们查看私钥,会发现即使我们在每个服务器生成的时候没有输入密码,也就是空密码,私钥的内容都是不一样的。当然,公钥的内容也是不一样的,因此,不用纠结啦,即使生成公私钥的时候是空密码,仍然是十分的安全啦。 ssh-copy-id 这个命令是将a服务器的公钥传递到b服务器内,这个我们查看免密配置后生成的authorized_keys就可以看到了。该文件的路径和公私钥是在一个目录下的哦。
可以看到,两个服务器的公钥内容合并到这个文件内了。 (5)免密登陆的取消 这个就非常简单了,只是注意别删除错了就可以啦
把前面 ssh-keygen 等等命令生成的文件删除就可以啦,非常的简单。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 1:57:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |