欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux远程访问及控制(SSH)

程序员文章站 2022-06-21 17:06:06
1、ssh协议:用于远程登录,端口号:22/tcp 配置文件: 1)服务器端口:/etc/ssh/sshd_config 2)客户端 :/etc/ssh/ssh_config 2、服务器监听选项: UseDNS no :禁用DNS反向解析 PermitRootLogin :允许Root登录 Perm ......

1、ssh协议:用于远程登录,端口号:22/tcp

  配置文件:

1)服务器端口:/etc/ssh/sshd_config

2)客户端 :/etc/ssh/ssh_config

2、服务器监听选项:

UseDNS  no :禁用DNS反向解析

PermitRootLogin :允许Root登录

PermitEmyptPasswords:是否允许空密码

AllowUsers/DenyUsers: 允许/拒绝用户访问,不可同时使用,可用@制定允许远程主机

PasswordAuthentication: 启用密码验证

PubkeyAuthentication:启用密钥对验证,优先级高

AuthorizedKeysFile:公钥库文件位置及名称       .ssh/authorized_keys

3、验证方式:

1)密码验证:用/etc/passwd和/etc/shadow文件验证

2)密钥对验证:核对客户私钥与服务端公钥是否匹配

4、访问方式:

1)ssh命令: 远程登录 

格式: ssh  用户名@主机ip

或 ssh  -l  用户名  主机ip

2)scp命令:远程复制

格式: scp  -r 用户名@服务器IP:/文件路径 /本地路径

scp 本地路径 用户名@服务器IP:/文件路径

3)sftp: 安全的ftp下载,无须vsftpd服务支持

sftp   用户名@主机IP

4)Xsheel: 在windows下远程登录服务器的软件

5、构建密钥对验证:

1)生成密钥对: 加密算法: 有RSA和DSA两种

命令:ssh-keygen   -t  rsa

生成密钥对文件:id_rsa.pub

生成私钥文件:id_rsa

2)将公钥文件上传到服务器并改名为:authorized_keys

Scp  ~/.ssh/id_rsa.pub  用户名@服务IP:/~/.ssh/authorized_keys

或ssh-copy-id  -i  公钥文件  用户IP

3)客户端会创建known_host文件记录已登录服务的摘要信息

6、TCP Wrappers:通过tcpd进程调用libwrap.so.*链接库进行控制

控制文件:

/etc/hosts.allow    允许访问文件

/etc/hosts.deny    拒绝访问控制文件

控制格式:服务列表:客户机地址列表

列表以逗号分隔      ALL代表所有

?代表一个字符      *代表任意个字符

地址可用IP地址、网段、域名

网段方式:192.168.4.

或192.168.4.*

或192.168.4.0/255.255.255.0

策略顺序:默认允许,允许优先    

 

构建SSH服务体系示例

 

一、实验拓扑图:

 

 Linux远程访问及控制(SSH)

二、实验要求:

1、网关的配置要求:

两个网卡,分别如图所示IP地址。开启路由转发功能:

echo  "1" > /proc/sys/net/ipv4/ip_forward

以及需要停止 servieNetworkManager stop服务

三台linux主机配置完成后可以互相ping通,如下图:

 Linux远程访问及控制(SSH)

Linux远程访问及控制(SSH)

Linux远程访问及控制(SSH)

Linux远程访问及控制(SSH)

Win7也可以ping通ssh服务器

 Linux远程访问及控制(SSH)

2、SSH-web服务器的配置要求:

有两个用户,分别是zhangsan,lisi。要求zhangsan用户只能在1.10主机上使用密钥对的方式认证登录。lisi只能在1.20使用xshell登录,采用的直接密码验证的方式登录。禁用任何其他用户在客户端登录。在此服务器上安装一个lrzsz软件包(在linux的安装光盘上。),用于xshell能上传和下载软件。

步骤:

1)首先创建好zhangsan和lisi用户,并分别设置密码

 Linux远程访问及控制(SSH)

2)配置sshd的主配置文件/etc/ssh/sshd_config ,设置zhangsan和lisi的登录主机

 Linux远程访问及控制(SSH)

重启sshd服务

 Linux远程访问及控制(SSH)

3)在1.10客户机上使用root身份创建密钥对文件并上传公钥到ssh服务器的zhangsan用户

 Linux远程访问及控制(SSH)

查看确认生成的密钥文件

 Linux远程访问及控制(SSH)

上传公钥

 Linux远程访问及控制(SSH)

到ssh服务器上的zhangsan目录查看是否有.ssh隐藏目录,并且里面有authorized_keys文件。

 Linux远程访问及控制(SSH)

4)在ssh服务器上安装lrzsz软件包

Linux远程访问及控制(SSH)

3、客户端要求:(验证)

1)1.10:使用zhagsan用户,验证密码短语后能够登录。

Linux远程访问及控制(SSH)

登录成功

Linux远程访问及控制(SSH)

2)验证使用lisi用户在1.10客户机上不能登录

 Linux远程访问及控制(SSH)

3)1.20:安装Xshell ,使用lisi用户,验证lisi密码后能登录。

 Linux远程访问及控制(SSH)

Linux远程访问及控制(SSH)

Linux远程访问及控制(SSH)

Linux远程访问及控制(SSH)

4)在xshell上传一个apache的安装包,并在2.10上安装Apache服务。

输入rz命令并选择软件包上传

Linux远程访问及控制(SSH)

到lisi的目录查看并安装

 Linux远程访问及控制(SSH)

5)在lisi的目录创建一个文件验证是否能下载

 Linux远程访问及控制(SSH)

Linux远程访问及控制(SSH)

6)在1.20 win7主机上验证zhangsan用户不能登录

 Linux远程访问及控制(SSH)

7)验证其他用户在客户端不能登录

 Linux远程访问及控制(SSH)

Linux远程访问及控制(SSH)

文章参考微信公众号:L宝宝聊IT