Linux SSH远程管理和客户端的使用(内置实验解析图)

Linux SSH远程管理和客户端的使用(内置实验解析图)

一、SSH远程管理

SSH(Secure Shell)协议
是一种安全通道协议,对通信数据进行了加密处理,用于实现远程管理、远程登录、远程复制等功能。

(1)SSH工作原理

SSH客户端例如:Putty、Xshell、CRT

SSH服务端例如:OpenSSH

在这里插入图片描述

  • 客户端到服务端是通过网络传输

  • 数据传输是加密的

  • 数据传输是压缩的

二、openSSH

OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。
sshd 服务默认使用的是TCP的 22端口

服务名称:sshd

服务端主程序:/usr/sbin/sshd

服务端主程序:/usr/sbin/sshd

服务端配置文件:/etc/ssh/sshd_config

(1)sshd配置文件常用选项

在这里插入图片描述

(2)sshd 服务支持的验证方式

[ 1 ] 密码验证
对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解

[ 2 ] 密钥对验证
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。

[ 3 ] 两种验证同时开启
当两种验证都启用时,服务器将优先使用密钥对验证。

[ 4 ]验证配置文件常用选项

在这里插入图片描述

三、SSH客户端使用

[ 1 ]ssh 远程登录

ssh [选项] 用户 @ IP号
-p:指定非默认的端口号,缺省时默认使用 22端口

在这里插入图片描述

[ 2 ]scp 远程复制

scp 目标用户名@目标IP地址:目标文件位置 本机存放位置
//复制目标主机文件到本机
scp -r 本机目录 目标用户名@目标IP地址:目标目录
//复制本机目录到目标主机

在这里插入图片描述

[ 3 ]sftp 安全 FTP

sftp zhangsan@192.168.80.10    //访问目标主机
sftp> ls                       //查看当前所在位置的文件
sftp> get 文件名		           //下载文件
sftp> put 文件名		           //上传文件
sftp> quit		               //退出

在这里插入图片描述

[ 4 ]配置密钥对验证

useradd admin                           //创建用户
echo "123123" | passwd --stdin admin    //配置密码
su - admin                              //切换用户

ssh-keygen -t ecdsa                     //创建密钥对

cd ~/.ssh/                              //进入~目录下.ssh目录
ssh-copy-id -i id_ecdsa.pub 目标用户@目标IP
//直接在服务器的/home/目标用户名/.ssh/目录中导入公钥文本

ssh-agent bash                          //以下命令为配置免交互
ssh-add

在这里插入图片描述

四、TCP Wrappers

(此服务用的不多了解就好,有兴趣可以自己做做)

TCP Wrappers
将TCP服务程序“包裹”起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。

大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。rpm -q tcp_wrappers

(1)TCP Wrapper 保护机制的两种实现方式

1.直接使用 tcpd 程序对其他服务程序进行保护,需要运行 tcpd程序。
2.由其他网络服务程序调用 libwrap.so.*链接库,不需要运行 tcpd 程序。此方式的应用更加广泛,也更有效率。

使用 ldd 命令可以查看程序的 libwrap.so.*链接库
ldd $(which ssh vsftpd)

(2)TCP Wrappers 的访问策略

TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

格式:
<服务程序列表>:<客户端地址列表>

  • 服务程序列表
    ALL:代表所有的服务。
    单个服务程序:如“vsftpd”。
    多个服务程序组成的列表:如“vsftpd,sshd”
  • 客户端地址列表
    ALL:代表任何客户端地址。
    LOCAL:代表本机地址。
    允许使用通配符 “?” 和 “*”
    网段地址,如 192.168.80. 或者 192.168.80.0/255.255.255.0
    区域地址,如 “.benet.com”匹配 bdqn.com 域中的所有主机。

(3)TCP Wrappers 机制的基本原则:

首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问;
否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;
如果检查上述两个文件都找不到相匹配的策略,则允许访问。

“允许所有,拒绝个别”
只需在/etc/hosts.deny文件中添加相应的拒绝策略

“允许个别,拒绝所有”
除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置“ALL:ALL”的拒绝策略。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1、查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH: $ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 下面的例子表明该系统正在使用SSH2: $ ssh -V ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu 2、用SSH登录到远程主机 当你第一次使用ssh登录远程主机时,会出现没有找到主机密钥的提示信息。输入"yes"后,系统会将远程主机的密钥加入到你的主目录下的 .ssh/hostkeys下,这样你就可以继续操作了。示例如下: 1 2 3 4 5 6 7 8 localhost$ ssh -l jsmith remotehost.example.com Host key not found from database. Key fingerprint: xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-jarde-tuxum You can get a public key‘s fingerprint by running % ssh-keygen -F publickey.pub on the keyfile. Are you sure you want to continue connecting (yes/no)? Yes Host key saved to /home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub host key for remotehost.example.com, accepted by jsmith Mon May 26 2008 16:06:50 -0700 jsmith@remotehost.example.com password: remotehost.example.com$ 因为远程主机的密钥已经加入到ssh客户端的已知主机列表中,当你第二次登陆远程主机时,只需要你输入远程主机的登录密码即可。 1 2 3 localhost$ ssh -l jsmith remotehost.example.com jsmith@remotehost.example.com password: remotehost.example.com$ 由于各种原因,可能在你第一次登陆远程主机后,该主机的密钥发生改变,你将会看到一些警告信息。出现这种情况,可能有两个原因: o 系统管理员在远程主机上升级或者重新安装了SSH服务器 o 有人在进行一些恶意行为,等等。 在你输入“yes”之前呢,最佳的选择或许是联系你的系统管理员来分析为什么会出现主机验证码改变的信息,核对主机验证码是否正确。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 localhost$ ssh -l jsmith remotehost.example.com @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the- middle attack)! It is also possible that the host key has just been changed. Please contact your system administrator. Add correct host key to ―/home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub‖ to get rid of this message. Received server key's fingerprint: xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-arde-tuxum You can get a publ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你值得被疼爱丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值