SSH协议详解

一、 前言

使用SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。而OpenSSH是SSH协议的免费开源实现,它采用安全、加密的网络连接工具代替了telnet、ftp等古老明文传输工具。

SSH(Secure Shell)是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

SSH可以将所有的传输数据加密,这样“中间人”这种攻击方式就不可能实现了,而且也可以防止DNS和IP欺骗。还有一个额外的好处就是传输的数据经过压缩的,可以加快传输的速度。

二、 SSH工作原理

SSH是由服务端和客户端的软件组成,服务端是一个守护进程,它在后台运行并响应来自客户端的连接请求。

SSH的工作机制大体是:本地客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH客户端,本地再将密钥发回给服务端,到此为止,连接建立。

启动SSH服务器后,sshd进程运行并在默认的22端口进行监听。安全验证方式:

基于口令的安全验证(账号密码),也有可能受到中间人攻击 基于密钥的安全验证,就是提供一对密钥,把公钥放在需要访问的服务器上,如果连接到SSH服务器上,客户端就会向服务器发出请求,请求用密钥进行安全验证,服务器收到请求之后,先在改服务器的主目录下寻找公钥,然后把它和发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”并把它发送给客户端。客户端收到“质询”之后就可以用私钥解密再把它发给服务器端。基于这种方式,相对比较安全。

三、OpenSSH服务器安装和配置,客户端一般都有

先查看Linux系统中openssh-server、openssh、openssh-clients、openssh-askpass软件包是否已经安装,如果没有则安装。

依赖关系太多了,固用yum方式安装:yum install openssh-askpass -y

好了,都装好了。

四、客户端配置

ssh: 配置文件 /etc/ssh/ssh_config

1、客户端程序

例子:客户端ip:192.168.1.120 服务端ip:192.168.1.109

生成公钥:

测试:

删除密钥 :rm -rf .ssh/id_rsa*

2、scp命令,类似与cp

将本地的/etc/fstab 复制到服务端主机的/tmp目录下

将远程主机上的的/root/1.sh复制过来

3、sftp安全的文件传输程序,类似于ftp,它的所有操作都是加密ssh传输。

连接至远程主机,可以get一些资源

五、服务器端配置

几个主要的配置如下:

六、ssh 服务的最佳实践:

1、不要使用默认端口;

2、禁止使用 protocol version 1;

3、限制可登录的用户;

4、设定空闲会话超时时长;

5、利用防火墙设置 ssh 访问策略;

6、仅监听特定的 IP 地址;

7、基于口令认证时,使用强密码策略; tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30 | xargs

8、使用基于密钥的认证;

9、禁止使用空密码;

10、禁止 root 用户直接登录;

11、限制 ssh 的访问频度和并发在线数;

12、做好日志,经常分析; /var/log/secure

作者:yezi

来源:http://www.178linux.com/63909

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-01-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

在Windows下搭建Gitlab服务器

一.GitLab简介 GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 可通过Web界面进行访问...

2.4K100
来自专栏linux系统运维

Nginx负载均衡,ssl原理,生成ssl密钥对,Nginx配置ssl

30340
来自专栏康怀帅的专栏

PHP curl 详解

本文详细记录了 PHP 使用 curl 遇到的问题。 官方文档:http://php.net/manual/zh/book.curl.php 设置网址 curl...

34970
来自专栏信安之路

代码安全之上传文件

从数据包中可以看出,验证文件类型的参数有:Content-Type、Filename、Filedata。

15000
来自专栏游戏杂谈

PHP 图片验证码的问题

发现没有问题,查看php.ini中的扩展,发现extension=php_gd2.dll 已经开启了

21220
来自专栏小白安全

SQL注入 上传绕过安全狗

一,绕过安全狗上传可执行脚本 附上php上传脚本源码,此源码未对上传文件类型做校验 <?php         move...

63370
来自专栏Hongten

python开发_tempfile

 如果你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么tempfile模块来创建临时文件(夹)是个不错的选择

15520
来自专栏抠抠空间

Saltstack之SSH简介

13430
来自专栏FreeBuf

文件上传限制绕过技巧

文件上传漏洞是web安全中经常利用到的一种漏洞形式。一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以上传的地方将恶意...

42620
来自专栏小白课代表

Adobe CC 2017/2018更改软件安装位置

官方下载链接:https://ccmdls.adobe.com/AdobeProducts/KCCC/1/win32/CreativeCloudSet-Up.e...

18020

扫码关注云+社区

领取腾讯云代金券