SSH远程访问及控制

举报
当她睡着时 发表于 2021/04/10 18:19:08 2021/04/10
【摘要】 ssh协议-安全通道协议,主要用于远程登录、远程连接远程复制,端口号22。软件包名称:服务端openssh-serve;客户端openssh-clients服务名称:sshd主程序:/usr/sbin/sshd服务端配置文件:/etc/ssh/sshd_config客户端配置文件:/etc/ssh/ssh_configssh客户端命令ssh  --可以远程连接其他主机格式:ssh 选项 用户...

ssh协议-安全通道协议,主要用于远程登录、远程连接远程复制,端口号22。

软件包名称:服务端openssh-serve;客户端openssh-clients

服务名称:sshd

主程序:/usr/sbin/sshd

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

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

ssh客户端命令

  1. ssh  --可以远程连接其他主机

格式:ssh 选项 用户名@主机IP地址

例如:以root身份登录192.168.1.20主机的命令为:

ssh root@192.168.1.20

选项:-f 发送命令到远程主机执行

      -p 指定端口号(非标准端口,需要执行端口号)

  1. Scp --可以远程传输文件、远程复制

格式:scp 选项 本地文件路径 用户名@主机地址:远端文件路径(将本地文件推送到远程主机)

将远端主机文件拉到本地

选项:-p 保持文件权限

      -r 递归

      -l 限制传输速度(默认单位KB/s)

3.sftp --安全的ftp协议,使用方法与ftp一致

 

  • ssh的免密登录(非对称加密,公钥私钥)
  1. 首先在生成密钥对(命令):ssh-keygen -t rsa/dsa

注:-t指定加密算法,rsa或者dsa是加密算法,此处不做探究

  1. 查看.ssh/目录下是否生成密钥id_rsa.pub文件:ls .ssh/
  2. 想免密登录谁就把公钥发给谁
  3. 现在主机1想免密登录主机2,需要把公钥发给主机2,此处使用ssh-copy-id,-i指定公钥文件,后接用户名和主机地址,例:

ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.21

  1. 步骤完成,尝试免密登录主机2:ssh root@192.168.1.21

6.免交互生成密钥对:ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa

  • ssh配置与安全设置

主要配置服务端配置文件/etc/ssh/sshd_config

  1. 本身设置访问控制:PermitRootLogin yes修改为no
  2. 自行在文件中添加禁止用户/用户组登录的信息:

禁止test用户登录:DenyUsers test

禁止test用户组所有成员登录:DenyGroup test

  1. TCP_wrappers 基于主机的地址访问控制 -->核心库libwrap 在主机中有两个文件,记录了访问的权限,一个是/etc/hosts.allow(允许谁来访问),另一个是/etc/hosts.deny(拒绝谁来访问),默认允许访问。
  2. 例:现在只允许168.1.0网段访问,其他都拒绝,应该如何填写上述两个文件
  3. allow 192.168.1.0/255.255.255.0
  4. deny  ALL
  5. 生产环境中的安全优化:1)更改ssh服务的端口号2)禁止root远程登录3)禁止密码登录,使用秘钥登录4)重要的服务器,避免暴露在公网上
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。