Linux:远程访问及控制

一、OpenSSH服务器

1.1 SSH (Secure Shell) 协议

  • SSH是一种安全通道协议
  • SSH对通信数据进行了加密处理,用于远程管理

1.2 OpenSSH

  • 服务名称: sshd
  • 服务端主程序: /usr/sbin/sshd
  • 服务端配置文件: /etc/ssh/sshd_config
  • ssh_configsshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件

1.3 SSH远程管理

  • 主要用来实现字符界面的远程登录、远程复制等功能
  • 对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性
  • sshd 服务默认使用的是TCP的 22端口

二、远程管理配置


在这里插入图片描述

在这里插入图片描述

  • 打开端口设置,并把端口改为2222并重启服务
    在这里插入图片描述
    在这里插入图片描述
  • 通过其他主机连接这台主机
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述


#Port 22                                               ##默认ssh端口,生产环境中建议改成五位数的端口 
#AddressFamily any                                     ##地址家族,any表示同时监听ipv4和ipv6地址
#ListenAddress 0.0.0.0                                 ##监听本机所有ipv4地址
#ListenAddress ::                                      ##监听本机所有ipv6地址
#LogLevel INFO                                         ##日志记录级别,默认为info 
#LoginGraceTime 2m                                     ##限定用户认证时间为2min
#PermitRootLogin yes                                   ##是否允许root账户ssh登录,生产环境中建议改成no,使用普通账户su到root
#MaxAuthTries 6                                        ##指定每个连接最大允许的认证次数。默认值是 6
#MaxSessions 10                                        ##最大允许保持多少个连接。默认值是 10 
#PubkeyAuthentication yes                              ##是否开启公钥验证
AuthorizedKeysFile      .ssh/authorized_keys           ##公钥验证文件路径
# HostbasedAuthentication                              ##指定服务器在使用 ~/.shosts ~/.rhosts /etc/hosts.equiv 进行远程主机名匹配时,是否进行反向域名查询
#IgnoreUserKnownHosts no                               ##是否在 RhostsRSAAuthentication 或 HostbasedAuthentication 过程中忽略用户的 ~/.ssh/known_hosts 文件
#IgnoreRhosts yes                                      ##是否在 RhostsRSAAuthentication 或 HostbasedAuthentication 过程中忽略 .rhosts 和 .shosts 文件
#PermitEmptyPasswords no                               ##是否允许空密码
PasswordAuthentication yes                             ##是否允许密码验证,生产环境中建议改成no,只用密钥登录
ChallengeResponseAuthentication no                     ##是否允许质疑-应答(challenge-response)认证
#KerberosAuthentication no                             ##是否使用Kerberos认证
#KerberosOrLocalPasswd yes                             ##如果 Kerberos 密码认证失败,那么该密码还将要通过其它的认证机制(比如 /etc/passwd)
#KerberosTicketCleanup yes                             ##是否在用户退出登录后自动销毁用户的 ticket
#KerberosGetAFSToken no                                ##如果使用了AFS并且该用户有一个 Kerberos 5 TGT,那么开启该指令后,将会在访问用户的家目录前尝试获取一个AFS token
GSSAPIAuthentication yes                               ##是否允许基于GSSAPI的用户认证
GSSAPICleanupCredentials no                            ##是否在用户退出登录后自动销毁用户凭证缓存
UsePAM yes                                             ##是否通过PAM验证
#GatewayPorts no                                       ##是否允许远程主机连接本地的转发端口
X11Forwarding yes                                      ##是否允许X11转发
#X11DisplayOffset 10                                   ##指定sshd(8)X11转发的第一个可用的显示区(display)数字。默认值是10
#X11UseLocalhost yes                                   ##是否应当将X11转发服务器绑定到本地loopback地址
#PrintMotd yes                                         ##指定sshd(8)是否在每一次交互式登录时打印 /etc/motd 文件的内容
#PrintLastLog yes                                      ##指定sshd(8)是否在每一次交互式登录时打印最后一位用户的登录时间
#TCPKeepAlive yes                                      ##指定系统是否向客户端发送 TCP keepalive 消息
#UseLogin no                                           ##是否在交互式会话的登录过程中使用 login(1)
#UsePrivilegeSeparation sandbox                        ##是否让 sshd(8) 通过创建非特权子进程处理接入请求的方法来进行权限分离
#PermitUserEnvironment no                              ##指定是否允许sshd(8)处理~/.ssh/environment以及 ~/.ssh/authorized_keys中的 environment= 选项
#Compression delayed                                   ##是否对通信数据进行加密,还是延迟到认证成功之后再对通信数据加密
#ClientAliveInterval 0                                 ##sshd(8)长时间没有收到客户端的任何数据,不发送"alive"消息 
#ClientAliveCountMax 3                                 ##sshd(8)在未收到任何客户端回应前最多允许发送多个"alive"消息,默认值是 3 
#UseDNS no                                             ##是否使用dns反向解析
#PidFile /var/run/sshd.pid                             ##指定存放SSH守护进程的进程号的路径
#MaxStartups 10:30:100                                 ##最大允许保持多少个未认证的连接
#PermitTunnel no                                       ##是否允许tun(4)设备转发
#Banner none                                           ##将这个指令指定的文件中的内容在用户进行认证前显示给远程用户,默认什么内容也不显示,"none"表示禁用这个特性
Subsystem    sftp    /usr/libexec/openssh/sftp-server  ##配置一个外部子系统sftp及其路径
#Match User anoncvs                                    ##引入一个条件块。块的结尾标志是另一个 Match 指令或者文件结尾     
AllowUsers                                             ##设置白名单,需手动添加
DenyUsers                                              ##设置黑名单,需手动添加

  • 远程登陆
    在这里插入图片描述

在这里插入图片描述

  • 下行文件/目录(-P指定端口号,除了ssh其余都是大写)
    在这里插入图片描述
  • 上行文件/目录(-P指定端口号,除了ssh其余都是大写)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 相同位置复制
    在这里插入图片描述
    在这里插入图片描述
  • sftp(安全的ftp)
    在这里插入图片描述
  • 密钥对的创建

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • TCP Warppers :对支持TCP Warppers的服务程序进行访问控制,要么允许放行,要么拒绝丢弃。

  • 查看服务是否属于TCP Warppers
    在这里插入图片描述

  • 实验

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值