Linux安全运维进阶:SSH 无缝切换远程加密

栏目: 服务器 · 发布时间: 5年前

内容简介:SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digi

一、了解SSH

1.随便说说

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、 Linux 、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

Linux安全运维进阶:SSH 无缝切换远程加密

2.过关

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证)

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的×××。

第二种级别(基于密匙的安全验证)

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。

第二种级别不仅加密所有传送的数据,而且“中间人”这种×××方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒

3.层次

SSH 主要由三部分组成:

传输层协议 [SSH-TRANS]

提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。 SSH-TRANS 通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。 SSH-TRANS 提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。

用户认证协议 [SSH-USERAUTH]

用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS 上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H )。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护。

连接协议 [SSH-CONNECT]

将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11 连接。

二、事前准备

1.简单说一句

ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。

2.常用语法:

ssh(选项)(参数)

  • -1:强制使用ssh协议版本1;
  • -2:强制使用ssh协议版本2;
  • -4:强制使用IPv4地址;
  • -6:强制使用IPv6地址;
  • -A:开启认证代理连接转发功能;
  • -a:关闭认证代理连接转发功能;
  • -b:使用本机指定地址作为对应连接的源ip地址;
  • -C:请求压缩所有数据;
  • -F:指定ssh指令的配置文件;
  • -f:后台执行ssh指令;
  • -g:允许远程主机连接主机的转发端口;
  • -i:指定身份文件;
  • -l:指定连接远程服务器登录用户名;
  • -N:不执行远程指令;
  • -o:指定配置选项;
  • -p:指定远程服务器上的端口;
  • -q:静默模式;
  • -X:开启X11转发功能;
  • -x:关闭X11转发功能;
  • -y:开启信任X11转发功能。

3.官方语法

usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] 
[-D [bind_address:]port] [-E log_file] [-e escape_char] 
[-F configfile] [-I pkcs11] [-i identity_file] 
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] 
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] 
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] 
[user@]hostname [command] 

三、一顿操作(快速连接)

1.下载安装XSHELL

Google一下

2.新建连接会话

Linux安全运维进阶:SSH 无缝切换远程加密

3.设置用户身份验证(默认选择Password)

Linux安全运维进阶:SSH 无缝切换远程加密

4.连接服务器

Linux安全运维进阶:SSH 无缝切换远程加密

四、无缝连接

1.确认两台服务器信息

Linux安全运维进阶:SSH 无缝切换远程加密

2.设置hosts配置域名映射

Linux安全运维进阶:SSH 无缝切换远程加密

3.生成密钥

Linux安全运维进阶:SSH 无缝切换远程加密

4.拷贝密钥到另一台主机

Linux安全运维进阶:SSH 无缝切换远程加密

5.查看服务器的密钥

Linux安全运维进阶:SSH 无缝切换远程加密

6.无密码加密连接

Linux安全运维进阶:SSH 无缝切换远程加密

五、回顾

1.解析.ssh目录下的奥秘

[root@web1 .ssh]# tree -l.   
   
├── authorized_keys #web1主机上的认证文件:记录登录密钥├── id_rsa #web1主机的私钥├── id_rsa.pub #web1主机的公钥└── known_hosts #记录登录到web1的服务key:校验作用0 directories, 4 files   
   
[root@web1 .ssh]#   

步骤如下:web1服务器生成密钥--》复制web1的公钥到web2--》输入web2服务器密码--》web1公钥加入到web2的认证文件--》web1无密码连接web2--》生成web1的校验密钥到known_hosts--》web2服务器校验known_hosts与 authorized_keys文件是否匹配--》匹配就允许登录,反之拒绝--》web2无密码连接web1,同理。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Effective Engineer

The Effective Engineer

Edmond Lau / The Effective Bookshelf, Palo Alto, CA. / 2015-3-19 / USD 39.00

Introducing The Effective Engineer — the only book designed specifically for today's software engineers, based on extensive interviews with engineering leaders at top tech companies, and packed with h......一起来看看 《The Effective Engineer》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器