首页 > 编程知识 正文

sshd命令,sshd配置文件

时间:2023-05-03 20:05:40 阅读:151826 作者:3065

SSH协议1.SSH协议1 .概述2、SSH的好处3、 SSH客户端和服务端2.OpenSSH协议1 .概念2.OpenSSH服务端配置3.AllowUsers和DenyUsers4.sshd服务器两种验证方式1 .密码验证2. scp远程复制3 配置errs per保护机制的两种实现方式2.TCP Wrappers的访问策略3.TCP Wrappers机制的基本原则

一. SSH协议1 .概述

安全shell (ssh )是一种安全通道协议,主要用于实现字符界面的远程登录、远程复制等功能。

SSH协议加密通信双方的数据传输,包括用户登录时输入的用户密码。 因此,SSH协议具有很好的安全性。

2、SSH的优点数据传输已加密,可以防止信息泄露() (安全) )。

数据传输经过压缩,可以提高传输速度。(

3、SSH客户端和服务端SSH客户端: Putty、Xshell、CRT

SSH服务端: OpenSSH

二. OpenSSH协议1 .概念OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。

CentOS 7系统默认安装了与openssh相关的软件包,并添加了sshd服务以在启动时自动启动。 openssh的服务名称为sshd )

可以通过运行“系统开始sshd”命令启动sshd服务

sshd服务默认使用TCP的22个端口

对于shd服务的默认配置文件,/etc/ssh/sshd_configssh_config和sshd_config都是ssh服务器的配置文件ssh_config是客户端的配置文件

显示OpenSSH服务器端配置sshd_config配置文件的常规选项vim /etc/ssh/sshd_configPort 22 #监听端口为22ListenAddress 0.0.0.0 # OpenSSH服务器具体IPLoginGraceTime 2m #登录认证时间2分钟禁止permitrootloginno#root用户登录MaxAuthTries 6 #最大重试次数6 permitemptypasswords

3.AllowUsers和DenyUsers AllowUsers用户1用户2#只有可以登录的用户,多个用户只有DenyUsers用户1 #用户禁止登录禁止张San、lisi和wangwu用户只能从IP地址为10.0.0.2的主机远程登录到AllowUsersZhangsanLisiWangWu。 10.0.0.2某些用户已被禁止登录,其用法与allowusers相似。 (请注意不要同时使用。 ) DenyusersLideers

4.sshd服务的两种认证方式(1)密码验证

验证服务器中本地系统用户的登录名和密码。 虽然简单,但有可能被暴力解读(和上面的许可测试一样) )。

(2)密钥对验证

要通过认证,必须输入匹配的密钥信息。 通常,在客户端创建一对密钥文件(公钥、私钥),并将公钥文件放在服务器中的指定位置。 远程登录时,系统使用公钥、私钥进行加密/解密相关的验证。 增强了安全性,不需要交互式登录。

如果同时启用了密码和密钥对验证,则服务器将优先使用密钥对验证。 可以根据情况设定验证方式。

vim/etc/ssh/sshd _ configpasswordauthenticationyes #启用密码验证PubkeyAuthentication yes #启用密钥对验证authorizedkeysfile.SSE

1 .在ssh客户端程序中设置密码验证

1 ) ssh远程登录

SSH [可选]当] zhangsan@192.168.133.13用户首次登录到ssh服务器时,必须根据提示接受输入“yes”的服务器的ECDSA密钥。 接收到的密钥信息保存在~/.ssh/known_hosts文件中。 如果密码验证成功,则可以登录到目标服务器的命令行环境。 -p :指定默认以外的端口号。 默认情况下,使用22个端口的ssh-p 20张San @ 192.168.133.13 #访问192.168.163.10

p>

2. scp 远程复制 #从服务器上下载scp root@192.168.133.20:/etc/passwd /root/passwd10.txt#将远程主机中的/etc/passwd文件复制到本机#向服务器传输资料scp -r /root/123/ root@192.168.133.10:/opt#将本机的/root/123 目录复制到远程主机

下行复制:将远程主机的/etc/passwd文件复制到本机

scp root@192.168.133.20:/etc/passwd /root/passwd10.txt

上行复制:将本机的/etc/ssh目录复制到远程主机

[root@localhost ~]# scp -r /etc/passwd root@192.168.133.20:/opt

3.sftp安全FTP

由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。操作语法sftp与ftp几乎一样。

sftp zhangsan@192.168.133.20zhangsan@192.168.133.20 password: #输入密码Connected to 192.168.133.20.sftp> pwdsftp> lssftp> get 文件名#下载文件到登录前账号的家目录,文件要加-rsftp> put 文件名#上传文件到登录者的家目录,文件加-rsftp> quit#退出


上传:

4.配置秘钥配对验证

1)在客户端创建密钥对

通过ssh-keygen工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等(ssh-keygen命令的“-t”选项用于指定算法类型)。useradd becho "123456" |passwd --stdin bsu - bssh-keygen -t ecdsaGenerating public/private ecdsa key pair.Enter file in which to save the key (/home/admin/.ssh/id_ecdsa): #指定私钥位置,直接回车使用默认位置Created directory '/home/admin/.ssh'.#生成的私钥、公钥文件默认存放在宿主目录中的隐藏目录.ssh/下Enter passphrase (empty for no passphrase): #设置私钥的密码Enter same passphrase again: #确认输入ls -l .ssh/id_ecdsa#id_ecdsa是私钥文件,权限默认为600;id_ecdsa.pub是公钥文件,用来提供给 SSH 服务器

1.在客户机创建b用户:

然后在客户端创建新用户a与b进行配置密钥对


方法一:此方法可直接在服务器的/home/zhangsan/.ssh/目录中导入公钥文本
cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub zhangsan@192.168.133.20

方法二:
客户端:先将公钥文件复制都服务端
scp ~/.ssh/id_ecdsa.pub root@192.168.133.20:/opt
服务端:
mkdir /home/zhangsan/.ssh/ #在zhangsan的家目录下创建.ssh文件,没有这个文件的需要创建
cat /tmp/id_ecdsa.pub >> /home/zhangsan/.ssh/authorized_keys
#将复制来的公钥文件导入到authorized_keys中(没有authorized_keys会自动创建)

cat /home/zhangsan/.ssh/authorized_keys #查看authorized_keys文件

cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub zhangsan@192.168.80.10

2.在客户端使用密钥对验证

ssh b@192.168.133.20b@192.168.133.20 password: #输入私钥的密码


3.在客户机设置ssh代理功能,实现免交互登录

ssh-agent bashssh-add Enter passphrase for /home/a/.ssh/id_ecdsa: #输入私钥的密码Identity added: /home/a/.ssh/id_ecdsa (/home/a/.ssh/id_ecdsa)ssh b@192.168.133.20Last login: Sun Dec 13 13:32:47 2020 from 192.168.133.13

三.TCP Wrappers 访问控制

TCP Wrappers 像一个防护罩一样,保护着TCP服务程序,它代为监听TCP服务程序的端口,为其增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。

大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。
使用“rpm -q tcp_wrappers”安装

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

直接使用 tcpd 程序对其他服务程序进行保护,需要运行 tcpd程序。

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

使用 ldd 命令可以查看程序的 libwrap.so.*链接库

ldd $(which ssh vsftpd)

2.TCP Wrappers 的访问策略

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

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

(1)服务程序列表

ALL:代表所有的服务。单个服务程序:如“vsftpd”。多个服务程序组成的列表:如“vsftpd,sshd”。

(2)客户端地址列表

ALL:代表任何客户端地址。LOCAL:代表本机地址。多个地址以逗号分隔允许使用通配符 “?” 和 “*” “*”代表任意长度字符 “?”仅代表一个字符网段地址,如 192.168.163. 或者 192.168.163.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”的拒绝策略。

若只希望从IP地址为12.0.0.1的主机或者位于192.168.133.0/24网段的主机访问sshd服务,其他地址被拒绝。

vi /etc/hosts.allowsshd:12.0.0.1,192.168.133.*vi /etc/hosts.denysshd:ALL

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。