SSH远程访问及控制

发布于:2024-04-30 ⋅ 阅读:(29) ⋅ 点赞:(0)

远程连接 

ssh(tcp/22端口,密文传输)

telnet(tcp/23端口,明文传输)

SSH   (Secure Shell) 

是一种安全通道协议

对通信数据进行了加密处理,用于远程管理

OpenSSH (一般Linux系统自动安装,乌邦图除外)

服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd config 

客户端配置文件:/etc/ssh/ssh_config

服务端重要配置

port     #监听端口
ListenAddress #监听地址为任意网段,也可以指定OpenSSH服务器的具体IP
LoginGraceTime 2m       #登录验证时间为 2 分钟
MaxAuthTries 6 #最大重试次数为 6
PermintRootLogin  no    #禁止 root 用户登录
PermitEmptyPasswords  no    #禁止空密码用户登录
 UseDNS no #禁用 DNS 反向解析,以加快远程连接速度
AllowUsers #只允许某些用户登录,多个用户以空格分隔
DenyUsers  #禁止某些用户登录,用法于AllowUsers 类似
(AllowUsers  ,DenyUsers 注意不要同时使用)

SSH客户端应用的使用

1)ssh 远程登录

ssh [-p 端口] 用户名@目标主机IP 
ssh [-p 端口] 用户名@目标主机IP  命令         #临时登录目标主机执行命令后退出

2)scp 远程复制

scp [-P 端口] [-r] 本机文件/目录路径 ...  用户名@目标主机IP:绝对路径       #将本地的文件/目录复制到目标主机
scp [-P 端口] [-r] 用户名@目标主机IP:绝对路径  本机路径                    #将目标主机的文件/目录复制到本机 

3)sftp 文件传输

sftp [-P 端口]  用户名@目标主机IP
> get  put  cd  ls 

SSH的验证方式

1)密码验证:使用账号和密码进行验证 

PasswordAuthentication yes

2)密钥对验证:使用客户端创建的密钥对进行验证

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys           #服务端的公钥文件默认保存路径

ssh密钥对的创建和使用:

1)确保服务端开启了ssh密钥对验证

/etc/ssh/sshd_config   -->  PubkeyAuthentication yes

 2)在客户端创建密钥对  

ssh-keygen [-t rsa/dsa/ecdsa]  

#生成的密钥对默认存放在当前用户家目录的 .ssh/ 目录中,私钥是留给自己使用的,公钥(XXX.pub)是给服务端使用的

3)上传公钥至服务端 

ssh-copy-id [-i 公钥文件]  用户名@目标主机IP    

#公钥信息会自动保存到服务端的 ~/.ssh/authorized_keys 文件里

4)客户端 ssh 远程登录,使用密钥对的密码进行验证 

注:密钥对在客户端是谁创建的,只能谁使用;密钥对上传给服务端的哪个用户,那么就只能使用那个用户去登录

ssh密钥对免交互登录:

1)使用空密码的密钥对

ssh-keygen      一路回车,不设置密码
ssh-copy-id

2)创建ssh会话代理(只能在当前会话中有效)

ssh-agent bash
ssh-add

一键操作的命令:

ssh-keygen -t rsa -P '' -f  ~/.ssh/id_rsa
sshpass -p 'abc1234' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.80.20 

TCP Wrappers  为支持TCP Wrappers的服务程序提供访问控制的功能,要么允许访问,要么拒绝访问

判断是否支持TCP Wrappers:  

执行命令 ldd $(which 程序名称) | grep libwrap  查看是否有 libwrap.so.0 => /lib64/libwrap.so.0                                  

访问策略原则:

先看 /etc/hosts.allow 是否有匹配的策略,有则直接允许访问
再看 /etc/hosts.deny  是否有匹配的策略,有则拒绝访问
如果以上两个文件都没有匹配的策略,则默认允许访问

策略格式:  

<程序列表>:<客户端地址列表>
            sshd,vsftpd:192.168.80.13,192.168.80.14
            ALL:ALL
            sshd:192.168.80.*
            sshd:192.168.80.0/255.255.255.128
 


网站公告

今日签到

点亮在社区的每一天
去签到