SSH服务--Linux学习笔记

SSH服务的介绍:

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

SSH是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议。SSH是目前较为安全可靠的远程登录会话和传输协议。目前绝大多数的Linux都采用SSH远程登录方式且SSH客户端适用于多种平台。

SSH是C/S架构,即Client/Server(客户端/服务端)结构。

目前,SSH有1.x和2.x两个版本。连接SSH服务时要注意客户程序与SSH服务端版本是否一致,OpenSSH 2.x同时支持SSH 1.x和2.x。

SSH的功能:

  • SSH可有效地防止DNS欺骗以及IP欺骗。
  • 压缩传输数据。
  • SSH提供了多种传输方式。
  • SSH构建Socket5代理。

SSH服务端的安装:(Linux中)

如果在安装系统时不是选择的最小化安装,SSH服务都将会默认安装在系统中,无须自行安装。如果系统没有自带SSH服务,可按照如下情况自行安装。
Redhat、CentOS等使用RPM包的发行版:

yum install openssh-server openssh-clients

Debian、Ubuntu等使用DEB包的发行版:

apt-get install openssh-server openssh-client

其中openssh-server是SSH服务端,openssh-client为SSH的客户端

SSH服务端的配置

配置文件说明:
在Linux操作系统中,SSH服务端配置文件默认路径为: /etc/ssh/sshd_config

常用配置说明:

Port 22                         #SSH端口设置,这里默认使用的是22端口
Protocol    21                 #选择SSH协议版本
ListenAddress    0.0.0.0        #监听的网卡IP
PermitRootLogin  no             #是否允许root登入,默认是允许的
PasswordAuthentication yes      #是否开启密码验证
PermitEmptyPasswords no         #是否允许密码为空
PrintMotd no                    #登入后是否显示一些信息,如上次登入时间及地点等。
PrintLastLog yes                #显示上次登入的信息
KeepAlive yes                   #发送KeepAlive信息给客户端
MaxStartups 10                  #允许尚未登入的联机画面数
DenyUsers *                     #禁止用户登录,*表示所有用户
AllowUsers *                    #允许用户登录

SSH客户端的选择

SSH客户端支持多平台:
1. 苹果OS X操作系统:
自带terminal中包含有SSH客户端,与Linux SSH客户端使用方法相同
2. Linux操作系统:
OpenSSH-client
3. Windows操作系统:
PuTTY、Xshell、SecureCRT、Plink、WinScp等

SSH的认证方式

SSH服务的安全性不仅仅体现在加密的数据传输方式,同时还具有多种身份验证方式,配合SSH本身访问策略以及Linux系统中自带的防火墙和TCP Wrappers提供对访问权限的控制。

口令认证方式:
口令是SSH服务的基础认证方式,在不对SSH进行相应配置的情况下口令认证方式是默认启用的。

在Linux操作系统中,使用SSH客户端的命令格式如下:

ssh options username@hostname ‘command

基于密钥的认证方式:
密钥认证是Linux运维中常用的较为安全的认证方式,由于无须输入口令,固应用与自动化与集群运维中。

  1. 生成密钥与公钥文件
    ssh-keygen 命令可以生成公钥与密钥

  2. 将公钥文件加入主机的认证文件中

cat id_rsa.pub >> ~/.ssh/authorized_keys

注意:.ssh目录权限为700,authorized_keys文件为600

SSH的访问策略:

1.限制用户连接SSH
基于用户的访问策略需要在SSH服务的配置文件中进行配置: /etc/ssh/sshd_config

DenyUsers       test        #禁止test用户登入
AllowUsers      test        #允许test用户登入
DenyGroups      test        #禁止test群组登入
AllowUsers      test        #允许test群组登入

2.限制IP连接SSH
基于IP地址的访问策略有两种方式实现:
ptables防火墙

iptables  -A INPUT -p tcp --dport 22 -s 192.168.0.10/32 -j ACCEPT
iptables  -A INPUT -p tcp --dport 22 -j DROP

TCP Wrappers
/etc/hosts.allow(允许某个ip地址访问本机的某个服务)

    sshd:192.168.0.10/255.255.255.255

/etc/hosts.deny(不允许某个ip地址访问本机的某个服务)

sshd:ALLsshd:ALL EXCEPT 192.168.0.10

TCP Wrappers只支持长格式掩码,不能用192.168.0.0/24

SSH的实际运维中的应用:

  • SSH执行远程主机命令
  • SSH构建跳板隧道
  • SSH指定密钥路径、端口、用户及配置文件
  • 调式模式与绑定IP地址
  • 构建Socket5代理

SSH执行远程主机命令格式:

ssh username@hostname  ‘command
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值