CentOS服务搭建-03-开启SSH服务
Linux系统
SSH 是为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。如果没有开启ssh无法进行远程连接终端。
- 查看是否开启了ssh服务是否安装,使用命令:sudo ps -e |grep ssh //如果安装了的是会有sshd服务的
- 先更新资源列表,使用命令:sudo apt-get update
- 安装openssh-server,使用命令:sudo apt-get install openssh-server
- 继续输入sudo ps -e |grep ssh查看是否安装成功。
- 启动SSH服务:sudo /etc/init.d/ssh start
- 修改SSH配置文件。可以通过SSH配置文件更改包括端口、是否允许root登录等设置,配置文件位置:/etc/ssh/sshd_config
- 默认是不允许root远程登录的,可以再配置文件开启。sudo vim /etc/ssh/sshd_config
找到PermitRootLogin without-password 修改为PermitRootLogin yes
- 重启SSH服务:service sshd restart
- 连接Ubuntu,出现错误:Failed SSH Key Exchange/提示key exchange failed.这是密匙交换错误,说明Ubuntu还没有打开密匙交换的配置。
- 打开配置文件进行编辑:vim /etc/ssh/ssh_config
- 去掉前面的注释符,使用22端口。
- port 22
- protocol 2
- Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
- MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
- 使用vi /etc/ssh/sshd_config打开并修改服务器端的配置文件。
- 在protocol 2 下面粘贴:
- Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
- MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
- 然后重启sshd服务:service sshd restart
Centos7系统
- 首先,要确保CentOS7安装了 openssh-server,在终端中输入 yum list installed | grep openssh-server;如果又没任何输出显示表示没有安装 openssh-server,通过输入:yum install openssh-server来进行安装openssh-server
- 找到/etc/ssh/ 目录下的sshd服务配置文件 sshd_config,用Vim编辑器打开,将关于监听端口、监听地址前的 # 号去除,然后开启允许远程登录:
- port
- ListenAddress(依据需要开启)
- PermitRootLogin(依据需要开启)
- 开启使用用户名密码来作为连接验证
- PasswordAuthentication
- 保存退出
- 开启sshd服务,输入:sudo service sshd start
- 检查sshd服务是否已经开启,输入ps -e | grep sshd,或者输入netstat -an | grep 22 检查 22 号端口是否开启监听
- 为了免去每次开启CentOS时,都要手动开启sshd服务,可以将sshd服务添加至自启动列表中,输入systemctl enable sshd.service;可以通过输入systemctl list-unit-files | grep sshd,查看是否开启了sshd 服务自启动。
SSH端口号修改 semanage
- vim sshd_config中的port选项
- 向SELinux中添加修改的SSH端口
- 安装semanage:semanage是SELinux的管理工具,是用于向SELinux添加和修改ssh端口号
- 安装依赖:yum install policycoreutils-python
- 安装semanage:yum provides semanage
- 使用semanage向SELinux中添加我们刚刚添加的端口号(10011)
- 查询:semanage port -l | grep ssh
- 向SELinux中添加我们需要添加的ssh端口(如:10011):semanage port -a -t ssh_port_t -p tcp 10011
- 删除22端口号:semanage port -d -t ssh_port_t -p tcp 22
- 验证ssh 端口是否添加成功:semanage port -l | grep ssh
- 重启 ssh 服务:systemctl restart sshd.service
- eof
firewall-cmd放行端口
firewall-cmd --zone=public --add-port=10011/udp --permanent firewall-cmd --reload systemctl restart firewalld.service