Centos7安装、配置SSH服务远程登陆

ssh便捷一个开发小组中人员登陆一台服务器,从事代码的编撰、编译、运行。便捷代码的共享及管理。ssh是一种安全合同,主要用于给远程登入会话数据进行加密,保证数据传输的安全。

SSH分顾客端openssh-client和openssh-servercentos安装软件命令,假如你只是想登录别的机器的SSH只须要安装openssh-client(centos有默认安装),假如要使本机开放SSH服务就须要安装openssh-server。

SSH(SecureSHell)目的是要在非安全网路上提供安全的远程登陆和其他安全服务

OpenSSH是SSH合同的免费开源实现,默认的SSH合同是版本2(支持RSA和DSA)

OpenSSH支持的用户认证方法有基于PAM的用户口令认证和用户秘钥认证

安装SSH服务1.查看当前的centos是否安装了openssh-server服务。默认安装openssh-server服务。

rpm -qa|grep -E "openssh"

显示结果富含以下三个软件,则表示早已安装,否则须要安装缺位的软件

openssh-7.4p1-11.el7.x86_64

openssh-server-7.4p1-11.el7.x86_64

openssh-clients-7.4p1-11.el7.x86_64

假如存在这种文件,则可以跳过安装,直接进行远程联接。

2.安装openssh-server服务

yum install openssh-server -y

3.配置OpenSSH服务(默认的配置已可以正常工作)

OpenSSH的主配置文件:/etc/ssh/sshd_config

常见的配置选项:

Port=22  设置SSH的端口号是22(默认端口号为22)
Protocol 2  启用SSH版本2协议
ListenAddress 192.168.0.222  设置服务监听的地址
DenyUsers   user1 user2 foo  拒绝访问的用户(用空格隔开)
AllowUsers  root osmond vivek  允许访问的用户(用空格隔开)
PermitRootLogin  no  禁止root用户登陆
PermitEmptyPasswords no  用户登陆需要密码认证
PasswordAuthentication  yes  启用口令认证方式

4.重启OpenSSH服务

  service sshd restart

5.假如不能登入联接,则是没有开放端口linux命令vi,开启防火墙的22端口:

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent  
sudo service firewalld restart  

端口的开放设置可以参看:

登录Xshell

打开Xshell,选择“新建”,“连接”设置里选择SSH,主机填入须要联接的主机的IP地址。在“用户身分验证”中填入可用的登陆CentOS的用户名和密码

在这里插入图片描述

输入自己centos的用户帐号-密码

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200608115544893.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODkyNDUwMA==,size_16,color_FFFFFF,t_70

ssh服务介绍

本机内核环境

1.ssh服务2.ssh服务的所在软件包:openssh-clients、openssh-server

[root@localhost ~]# rpm -ql openssh-clients
/etc/ssh/ssh_config      --- ssh服务客户端配置文件
/usr/bin/.ssh.hmac             
/usr/bin/scp             --- ssh服务远程传输复制命令scp
/usr/bin/sftp            --- ssh服务远程传输文件服务
/usr/bin/slogin          --- ssh服务远程登陆命令
/usr/bin/ssh             --- ssh服务远程登陆命令
/usr/bin/ssh-add
/usr/bin/ssh-agent
/usr/bin/ssh-copy-id     --- ssh服务远程分发公钥命令
/usr/bin/ssh-keyscan

[root@localhost ~]# rpm -ql openssh-server
/etc/rc.d/init.d/sshd     #ssh服务启动脚本文件
/etc/ssh/sshd_config      #ssh服务配置文件
/etc/sysconfig/sshd       #ssh服务创建密钥有关
/usr/sbin/.sshd.hmac      #ssh服务加密算法有关文件
/usr/sbin/sshd            #ssh服务进程启动命令

3.ssh远程登录形式

[d:~]$ ssh 10.0.0.31      #端口号不能改,才能这样使用,如果端口号(默认22)更改的话,需要添加端口号
Connecting to 10.0.0.31:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Tue Oct 17 23:22:43 2017 from 10.0.0.253
[root@localhost ~]#

4.ssh服务认证过程与基于秘钥认证过程

在这里插入图片描述

5.ssh服务认证联接过程

ssh服务基于秘钥认证过程

6.ssh服务优化

ssh配置文件默认登录参数更改

更改SSH服务的运行参数,是通过更改配置文件/etc/ssh/sshd_config实现的。

通常来说SSH服务使用默认的配置已然才能挺好的工作了,若果对安全要求不高,仅仅提供SSH服务的情况,可以不须要更改任何配置。

SSH配置文件相关参数说明命令参教参数说明

Port

指定sshd进程窃听的端标语centos安装软件命令,默认为22。可以使用多条指令窃听多个端口。默认将在本机的所有网路插口上窃听,并且可以通过ListenAddress指定只在某个特定的插口上窃听。

PermitEmptyPasswords

是否容许密码为空的用户远程登陆。默认为”no”。PermitRootLogin是否容许root登陆。可用值如下:”yes”(默认)表示准许。”no”表示严禁。“without-password”表示严禁使用密码认证登陆。”forced-commands-only”表示只有在指定了command选项的情况下才准许使用私钥认证登陆。同时其它认证方式全部被严禁。这个值常用于做远程备份之类的事情。1.多开一个窗口2.临时多布署一条联接方法3.给普通用户sudo权限

UseDNS

指定sshd是否应当对远程主机名进行反向解析sogou pinyin linux,以检测此主机名是否与其IP地址真实对应。默认值为”yes”。

ListenAddress

指定窃听并提供服务相应的网卡地址信息

修改ssh默认登录配置执行方式为:

[root@localhost ~]#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori 
##—>更改配置前进行备份,是系统管理员的一个良好的习惯。 
[root@localhost ~]#vi /etc/ssh/sshd_config     #—>编辑 sshd_config 
Port 4188                #—>ssh连接默认端口为22,这淮都知道。因此,为提高安全级別,建议改掉它。 
PermitRootLogin no       #—>root超级用户黑客都知道,建议禁止它远程登陆能力。 
PermitEmptyPasswords no  #—>禁止空密码登陆 
UseDNS no                #—>不使用DNS      
GSSA PI Authentication no  #->认证的 

重点配置参数说明

麒麟系统用命令安装软件_命令安装软件参数太多怎么办_centos安装软件命令

#Port 22                  --- 表示修改ssh服务默认端口号
#AddressFamily any        --- 指定监听ipv4地址,或是ipv6地址,或者所有都监听
#ListenAddress 0.0.0.0    --- 监听地址只能监听本地网卡上配置的地址,监听的网卡可以对请求做出相应

ssh服务密钥登陆配置

基于口令认证方法

[root@nfs01 ~]# ssh -p4188 10.0.0.41
root@10.0.0.41's password: 
Last login: Wed Oct 18 12:07:34 2017 from 10.0.0.31
[root@backup ~]#

基于秘钥认证方法

第一步、创建秘钥对

[root@backup ~]# ssh-keygen -t rsa    ### -t 指定以什么加密方式这里使用的rsa方式
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
8b:bd:a3:10:5d:88:e4:ea:0f:3a:d1:13:7a:31:f1:45 root@backup
The key's randomart image is:
+--[ RSA 2048]----+
|    ..E          |
|  .o ...         |
|   oo.. .        |
|  +... .         |
| o.+. . S        |
|o.+  . o .       |
| oo.. . o        |
|.. o .  ..       |
|..  . ....       |
+-----------------+
[root@backup ~]# ll ~/.ssh/
total 12
-rw------- 1 root root 1671 Oct 18 11:06 id_rsa
-rw-r--r-- 1 root root  393 Oct 18 11:06 id_rsa.pub
-rw-r--r-- 1 root root 1178 Oct 11 15:50 known_hosts

第二步、将私钥分发给储存服务器

[root@backup ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.0.31   ##-i指定公钥路径
root@10.0.0.31's password: 
Now try logging into the machine, with "ssh '10.0.0.31'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

第三步、登陆测试

[root@backup ssh]# ssh 10.0.0.31
Last login: Wed Oct 18 00:58:52 2017 from 172.16.1.41
[root@nfs01 ~]#

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复