大鳄教程搜集整理的这篇文章主要介绍了CentOS7的远程访问及控制,大鳄教程大鳄感觉挺不错的,如今分享给你们,也给你们做个参考。
在实际生产环境中,不可能仍然在服务器本地对服务器进行相应的管理,大多数企业服务器都是通过远程登陆的方法进行管理的。当须要从一个工作站管理数以百计的服务器主机时,远程维护的方法将更占优势。
SSH简介@H_607_6@
SSH(SecureSHell)是一种安全通道合同,主要拿来实现字符界面的远程登陆、远程复制等功能。SSH合同对通讯双方的数据传输进行加密处理,其中包括用户登入时输入的用户口令。比往年的Telnet(远程登陆)、RSH(远程执行命令)等传统的方法相比,SSH合同提供了更好的安全性。
一、配置OpenSSH服务端@H_607_6@
OpenSSH是实现SSH合同的开源软件项目。在CentOS7.3系统中。OpenSSH服务器由openssh、openssh-server等软件包提供(默认已安装),并已将sshd添加为标准的系统服务。
1.服务窃听选项
sshd服务使用的默认端标语为22,必要时建议更改此端标语,并指定窃听服务的具体IP地址,以提升在网路中的隐蔽性。除此之外,SSH合同的版本选用v2比v1的安全性要更好,禁用DNS反向解析可以提升服务器的响应速率。
[[email protected] ~]# vim /etc/ssh/sshd_config //修改sshd服务的主配置文件 ………… //省略部分内容 Port 22 //监听端口为22 ListenAddress 0.0.0.0 //监听地址为0.0.0.0,表示全部监听 Protocol 2 //使用SSH v2的版本 UseDNS no //禁用DNS反向解析,提高响应速度 ………… //省略部分内容 [[email protected] ~]# systemctl restart sshd //重新启动sshd服务
2.用户登入控制
sshd服务默认容许root用户登入,但在网路中是很大的安全隐患,普遍的做法是普通用户,之后切换到root用户。
[[email protected] ~]# vim /etc/ssh/sshd_config //修改sshd服务的主配置文件 ………… //省略部分内容 LoginGraCETime 2m //登录验证时间为2分钟 PermitRootLogin no //禁止root用户登录 MaxAuthTries 6 //最大重试次数为6次 PermitEmptypasswords no //禁止空密码登录 ………… //省略部分内容 [[email protected] ~]# systemctl restart sshd //重新启动sshd服务
当希望只容许或严禁某个用户登入时,可以使用AllowUsers或DenyUsers配置,二者用法类似(然而注意不要同时使用)。诸如容许xiaoli和xiaozhang用户登入,且其中xiaozhang用户仅能从IP地址为192.168.1.2的地址远程登陆。
[[email protected] ~]# vim /etc/ssh/sshd_config //修改sshd服务的主配置文件 ………… //省略部分内容 AllowUsers xiaoli [email protected] //多个用户之间用空格进行分隔 [[email protected] ~]# systemctl restart sshd //重新启动sshd服务
3.登陆验证方法
当密码验证、密钥对验证都启用时,服务器将优先使用秘钥对验证!没有特殊要求,建议两种形式都启用!
[[email protected] ~]# vim /etc/ssh/sshd_config //修改sshd服务的主配置文件 ………… //省略部分内容 passwordAuthentication yes //启用密码验证 PubkeyAuthentication yes //启用密钥对验证 AuthorizedKeysFile .ssh/authorized_keys //指定公钥库文件 ………… //省略部分内容 [[email protected] ~]# systemctl restart sshd //重新启动sshd服务
二、使用SSH顾客端程序@H_607_6@
在CentOS7.3系统中,OpenSSH顾客端由openssh-clients软件包提供(默认已安装),其中包括ssh远程登陆命令,以及scp、sftp远程复制和文件传输命令等。
1.命令程序(ssh、scp、sftp)应用@H_404_50@1)ssh远程登陆
通过ssh命令可以远程登陆sshd服务linux运维招聘,为用户提供一个安全的SHell环境,便于对服务器进行管理和维护!
[[email protected] ~]# ssh [email protected]
假如sshd服务器使用非默认的端标语(例如2222)则须要使用“-p”选项指定端标语。
[[email protected] ~]# ssh -p 2222 [email protected] [email protected]‘s password: //输入密码 [[email protected] ~]$ //登录成功
@H_404_50@2)scp远程复制
[[email protected] ~]# scp [email protected]:/etc/passwd /mnt //从服务器下载文件 [email protected]‘s password: passwd 100% 2360 2.3KB/s 00:00 [[email protected] ~]# scp 123.txt [email protected]:/mnt //从客户端上传文件 [email protected]‘s password: 123.txt 100% 0 0.0KB/s 00:00
假如须要指定端口,使用“-P”选项!
@H_404_50@3)sftp安全FTP
通过sftp命令可以借助SSH安全联接与远程主机上传、下载文件,采用了与@R_419_2168@似的登陆过程和交互式环境,以便目录资源管理。
[[email protected] ~]# sftp [email protected] [email protected]‘s password: Connected to 192.168.1.1. sftp> put 456.txt //上传文件 Uploading 456.txt to /root/456.txt 456.txt 100% 0 0.0KB/s 00:00 sftp> get /root/789.txt //下载文件 Fetching /root/789.txt to 789.txt sftp> bye
2.图形化工具
在Windows主机上可以使用一些列图形化工具XsHell、SecureCRT、Putty等图形工具,支持Telnet、SSH、SFTP等合同,便捷对Linux主机进行远程管理。这种图形化工具都提供了英文界面、功能和操作比较简单,这儿不再做深入介绍。
三、构建秘钥对验证的SSH体系@H_607_6@
秘钥对验证方法可以为远程登陆提供提供更好的安全性,流程图:
1)第一种实现方式:
1.在顾客端创建秘钥对
在LInux顾客端中,通过ssh-keygen工具为当前用户创建秘钥对文件,可用的加密算法为ECDSA或DSA(ssh-keygen命令的“-t”选项用于指定算法类型)
[email protected] ~]# su - xiaowang //切换到用户xioawang [[email protected] ~]$ ssh-keygen -t ecdsa //创建基于ECDSA算法的SSH密钥对 GeneraTing public/private ecdsa key pair. Enter file in which to save the key (/home/xiaowang/.ssh/id_ecdsa): //指定私钥存放位置 Created directory ‘/home/xiaowang/.ssh‘. Enter passphrase (empty for no passphrasE): //设置私钥短语 Enter same passphrase again: //确认所设置的短语 Your identification has been saved in /home/xiaowang/.ssh/id_ecdsa. Your public key has been saved in /home/xiaowang/.ssh/id_ecdsa.pub. The key fingerprint is: 13:c2:03:63:bc:2e:d8:7e:be:f1:1b:1d:95:6b:4c:49 [email protected] The key‘s randomart image is: +--[ECDSA 256]---+ | .+ E | | ..+ . o | | .+ . = | | . o = . | | o . S + | |. o . . + | | . .. . . | | . .o . | | oo.o. | +-----------------+ [[email protected] ~]$ ls -lh ~/.ssh/id_ecdsa* -rw-------. 1 xiaowang xiaowang 227 8月 8 16:45 /home/xiaowang/.ssh/id_ecdsa -rw-r--r--. 1 xiaowang xiaowang 179 8月 8 16:45 /home/xiaowang/.ssh/id_ecdsa.pub
新生成的秘钥对文件中linux 删除文件夹,id_ecdsa是公钥文件,权限为600,需妥善保管;id_ecdsa.pub是私钥文件,拿来提供给SSH服务器。
2.将私钥文件上传至服务器
将刚刚生成的私钥文件上传到服务端用户的私钥数据库中。
[[email protected] ~]$ scp ~/.ssh/id_ecdsa.pub [email protected]:/mnt [email protected]‘s password: //输入密码 id_ecdsa.pub 100% 179 0.2KB/s 00:00 //上传成功
3.在服务器中导出私钥文本
在服务器中,目标用户(指用阿里远程登陆的帐号)的私钥数据库坐落~/.ssh目录,默认的文件名“authorized_keys”centos开启远程连接,须要自己自动创建!
[[email protected] ~]# mkdir /home/xiaozhang/.ssh [[email protected] ~]# cat /mnt/id_ecdsa.pub >> /home/xiaozhang/.ssh/authorized_keys [[email protected] ~]# cat /home/xiaozhang/.ssh/authorized_keys ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJmtmVbjnjH6NbWBRQcFjbYHoDBILQYclqrIHbVe0oyA15IXd+WBGsOcX3FYX8FYnIPHfL36Auj7aWb2MuVqmac= [email protected]
4.在顾客端使用秘钥对验证
[[emailprotected]~]$ssh[emailprotected]
Lastlogin:ThuAug816:03:332019from192.168.1.2
//不用输入密码,即可联接,实验完成!
2)第二种实现方式:
[[email protected] ~]# ssh-keygen -t ecdsa //以root为例,生成root用户的密钥对文件 [[email protected] ~]# ssh-copy-id -i ~/.ssh/id_ecdsa.pub [email protected] //“-i”用来指定公钥文件,这一步把刚才第二、三步结合在一起 /bin/ssh-copy-id: INFO: attempTing to log in with the new key(s),to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted Now it is to install the new keys [email protected]‘s password: //输入服务端root用户密码 number of key(s) added: 1 Now try logging into the machine,with: "ssh ‘[email protected]‘" and check to make sure that only the key(s) @R_874_8337@anted were added. [[email protected] ~]# ssh [email protected] Last login: Thu Aug 8 17:03:20 2019 //验证实验效果
使用秘钥对验证的方法登陆时,不须要晓得目标用户的眼膜,而是验证顾客端用户的公钥句子并检测公钥、公钥是否配对,这样安全性更好。
四、TCPWrappers访问控制@H_607_6@1)TCPWrappers概述
TCPWrappers将TCP服务程序“包裹”起来,代为坚挺TCP服务程序的端口,降低了一个安全检测过程,外联的联接恳求必须先通过这层安全检测,获得许可证就能访问真正的服务程序。如图:
对于大多数Linux发行版,TCPWrappers是默认提供的功能。CentOS7.3使用的软件包是tcp_wrappers-7.6-77.el7.x86_64.rpm。
2)TCPWrappers的访问策略
TCPWrappers机制的保护对象为各类网路服务程序centos开启远程连接,针对访问服务的顾客端地址进行访问控制,对应的两个策略文件为/etc/hosts.allow和/etc/hosts.deny,分别用阿里设置容许和拒绝的策略。
@H_404_50@1、策略配置格式
服务列表:客户机地址列表
服务器程序列表,顾客端地址列表之间用逗号进行分隔,在列表内的多个项之间用冒号分隔。
1)服务程序列表
2)顾客端地址列表
@H_404_50@2、策略的应用次序@H_404_50@3、配置实例
要求:希望仅容许192.168.1.0网关的主机访问sshd服务
[[email protected] ~]# vim /etc/hosts.allow sshd:192.168.1. [[email protected] ~]# vim /etc/hosts.deny sshd:ALL
大鳄总结
以上是大鳄教程为你搜集整理的CentOS7的远程访问及控制全部内容,希望文章才能帮你解决CentOS7的远程访问及控制所遇见的程序开发问题。
假如认为大鳄教程网站内容还不错,欢迎将大鳄教程推荐给程序员好友。