远程访问及控制

ssh远程管理

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的 Telent(远程登录)、RSH(Remote Shell,远程执行命令)、RCP(Remote File Copy,远程文件复制)等应用相比,SSH 协议提供了更好的安全性。
本节将以 OpenSSH 为例,介绍 Linux 服务器的远程管理及安全控制。OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。关于 OpenSSH 项目的更多内容可以访问其官方网站 http://www.openssh.com

配置Openssh服务端

在 CentOS 7.3 系统中,OpenSSH 服务器由 openssh、openssh-server 等软件包提供(默认已安装),并已将 sshd 添加为标准的系统服务。执行“systemctl start sshd”命令即可启动 sshd 服务,包括root 在内的大部分用户(只要拥有合法的登录 Shell)都可以远程登录系统。
sshd 服务的默认配置文件是/etc/ssh/sshd confg,正确调整相关配置项,可以进一步提高sshd 远程登录的安全性。下面介绍最常用的一些配置项,关于sshd config 文件的更多配置可参考 man 手册页。

服务监听选择

sshd服务使用的默认端口号为22,,必要时建议修改此端口号,并指定监听服务的具体IP 地址,以提高在网络中的隐蔽性。除此之外,SSH 协议的版本选用 V2比V1 的安全性要更好,禁用 DNS 反向解析可以提高服务器的响应速度。

vim /etc/ssh/sshd_config

port 22                                             //监听端口为22

ListenAdderss 172.16.16.22           //监听地址为172.16.16.22

......                                                   //省略部分内容

UseDNS no                                         //禁用DNS反向解析

systemctl restart  sshd

用户登陆控制

sshd 服务默认允许 root 用户登录,但在 Internet 中使用时是非常不安全的。普遍的做法如下:先以普通用户远程登入,进入安全Shel环境后,根据实际需要使用su命令切换为 root 用户
关于 sshd 服务的用户登录控制,通常应禁止 root用户或密码为空的用户登录。另外,可以限制登录验证的时间(默认为2分钟)及最大重试次数,若超过限制后仍未能登录则断开连接。

vim /etc/ssh/sshd_config

LoninGrace Tinme 2m         //登录验证时间为2分钟

PermitRootLogin no          //禁止root用户登录

MaxAuthTries 6                 //最大重试密码次数6

PermitEmptyPasswords  no     //禁止空密码用户登

.......                       //省略部分内容

systemctl  restart  sshd

登陆验证方式

对于服务器的运城管理,除了用户账号的安全控制以外,登录验证的方式也非常重要。

sshd 服务支持两种验证方式--密码验证、密钥对验证,可以设置只使用其中一种方式,也可以两种方式都启用。
密码验证:对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能被假冒:从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时防御能力比较弱。

密钥对验证:要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,大大增强了远程管理的安全性。该方式不易被假冒,且可以免交互登录,在Shell 中被广泛使用。

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。对于安全性要求较高的服务器,建议将密码验证方式禁用,只允许启用密钥对验证方式;若没有特殊要求,则两种方式都可启用。

vim /etc/ssh/sshd_config

PasswordAuthentication  yes        //启用密码验证

PubkeyAuthentication  yes               //启用密钥验证

AuthorizedKeysFile   ..ssh/authorized_keys     //指定公钥库文件

......  //省略部分内容

systemctl   restart   sshd   重启sshd

客户端连接服务器 

命令程序 ssh scp 

要关闭内核seten(Tab可补出来)后面跟上0

测试阶段可关闭防火墙  systemctl stop  firewalld

ssh 192.168.10.101 直接跟上服务器IP

服务器该端口号的话:ssh -o port=1234 192.168.10.101

scp root@192.168.10.101:/etc/passwd /root/pwd  下载文件

scp /root/passwd/ root@192.168.10.101:/root 上传文件

sftp root@192.168.10.101

sftp>get  下载

sftp>put   上传

在客户端创建密钥对

ssh-keygen -t ecdsa打开一直回车 也可以这设置密钥密码

在root用  ls -a

可查看到:.ssh

cd .ssh    ls查看

里面有个公密钥和私密钥

公密钥:id_rsa.pub

私密钥:id_rsa

将公密钥复制到用户中

ssh-copy-ip 192.168.10.101

最终就与用户创建了密钥对

作用:下次登陆不用输密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值