SSH远程访问及控制
【摘要】 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客户端命令
- ssh --可以远程连接其他主机
格式:ssh 选项 用户名@主机IP地址
例如:以root身份登录192.168.1.20主机的命令为:
选项:-f 发送命令到远程主机执行
-p 指定端口号(非标准端口,需要执行端口号)
- Scp --可以远程传输文件、远程复制
格式:scp 选项 本地文件路径 用户名@主机地址:远端文件路径(将本地文件推送到远程主机)
将远端主机文件拉到本地
选项:-p 保持文件权限
-r 递归
-l 限制传输速度(默认单位KB/s)
3.sftp --安全的ftp协议,使用方法与ftp一致
- ssh的免密登录(非对称加密,公钥私钥)
- 首先在生成密钥对(命令):ssh-keygen -t rsa/dsa
注:-t指定加密算法,rsa或者dsa是加密算法,此处不做探究
- 查看.ssh/目录下是否生成密钥id_rsa.pub文件:ls .ssh/
- 想免密登录谁就把公钥发给谁
- 现在主机1想免密登录主机2,需要把公钥发给主机2,此处使用ssh-copy-id,-i指定公钥文件,后接用户名和主机地址,例:
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.21
- 步骤完成,尝试免密登录主机2:ssh root@192.168.1.21
6.免交互生成密钥对:ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa
- ssh配置与安全设置
主要配置服务端配置文件/etc/ssh/sshd_config
- 本身设置访问控制:PermitRootLogin yes修改为no
- 自行在文件中添加禁止用户/用户组登录的信息:
禁止test用户登录:DenyUsers test
禁止test用户组所有成员登录:DenyGroup test
- TCP_wrappers 基于主机的地址访问控制 -->核心库libwrap 在主机中有两个文件,记录了访问的权限,一个是/etc/hosts.allow(允许谁来访问),另一个是/etc/hosts.deny(拒绝谁来访问),默认允许访问。
- 例:现在只允许168.1.0网段访问,其他都拒绝,应该如何填写上述两个文件
- allow 192.168.1.0/255.255.255.0
- deny ALL
- 生产环境中的安全优化:(1)更改ssh服务的端口号(2)禁止root远程登录(3)禁止密码登录,使用秘钥登录(4)重要的服务器,避免暴露在公网上
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)