RHCE-远程连接服务器-ssh免密登入

一、远程连接服务器简介

1 )什么是远程连接服务器
远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录 linux 主机以取得可操
作主机接口( shell ),而登录后的操作感觉就像是坐在系统前面一样。
2 )远程连接服务器的功能
分享主机的运算能力
3 )远程连接服务器的类型(以登录的连接界面来分类)
文字接口
明文传输: Telnet RSH 等,目前非常少用
加密传输: SSH 为主,已经取代明文传输
图形接口: XDMCP VNC XRDP
4 )文字接口连接服务器
SSH Secure Shell Protocol ,安全的壳程序协议)它可以通过数据包加密技术将等待传输的数据包加
密后再传输到网络上。 ssh 协议本身提供两个服务器功能:一个是类似 telnet 的远程连接使用 shell 的服务
器;另一个就是类似 ftp 服务的 sftp-server ,提供更安全的 ftp 服务。

 二、连接加密技术简介

目前常见的网络数据包加密技术通常是通过 非对称密钥系统 来处理的。主要通过两把不一样的公钥与
私钥来进行加密与解密的过程 。
公钥( public key ):提供给远程主机进行数据加密的行为,所有人都可获得你的公钥来将数据加密。
私钥( private key ):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。私钥
只有自己拥有。
SSH 工作过程:在整个通讯过程中,为实现 SSH 的安全连接,服务端与客户端要经历如下五个阶段:

 1)版本协商阶段

 2)密钥和算法协商阶段

 会话密钥的生成:

 3)认证阶段

 三、ssh服务配置

#ssh服务安装包openssh-server
[root@server1 ~]# vim /etc/ssh/sshd_config
17.#Port 22 #监听端口,默认监听22端口 【默认可修改】
18.#AddressFamily any #IPV4和IPV6协议家族用哪个,any表示二者均有
19.#ListenAddress 0.0.0.0 #指明监控的地址,0.0.0.0表示本机的所有地址 【默认可修改】
20.#ListenAddress :: #指明监听的IPV6的所有地址格式
28.HostKey /etc/ssh/ssh_host_rsa_key # rsa私钥认证 【默认】
29.#HostKey /etc/ssh/ssh_host_dsa_key # dsa私钥认证
30.HostKey /etc/ssh/ssh_host_ecdsa_key # ecdsa私钥认证
31.HostKey /etc/ssh/ssh_host_ed25519_key # ed25519私钥认证
43.SyslogFacility AUTHPRIV #当有人使用ssh登录系统的时候,SSH会记录信息,信息保存
在/var/log/secure里面
48.#LoginGraceTime 2m #登录的宽限时间,默认2分钟没有输入密码,则自动断开连接
49.#PermitRootLogin yes #是否允许管理员远程登录,'yes'表示允许
51.#MaxAuthTries 6 #最大认证尝试次数,最多可以尝试6次输入密码。之后需要等待某段时间后才
能再次输入密码
52.#MaxSessions 10 #允许的最大会话数
59.AuthorizedKeysFile .ssh/authorized_keys #选择基于密钥验证时,客户端生成一对公私
钥之后,会将公钥放到.ssh/authorizd_keys里面
79.PasswordAuthentication yes #是否允许支持基于口令的认证
83.ChallengeResponseAuthentication no #是否允许使用键盘输入身份验证,也就是xshell
的第三个登录方式
129.#UseDNS yes #是否反解DNS,如果想让客户端连接服务器端快一些,这个可以改为no
146.Subsystem sftp /usr/libexec/openssh/sftp-server #支持 SFTP ,如果注释掉,则
不支持sftp连接
154.AllowUsers user1 user2 #登录白名单(默认没有这个配置,需要自己手动添加),允许远程
登录的用户。如果名单中没有的用户,则提示拒绝登录

四、用户登录ssh服务器

1.修改ssh服务的端口号

[root@service ~]# vim /etc/ssh/sshd_config
[root@service ~]# grep Port /etc/ssh/sshd_config
#Port 22
Port 2222
[root@service ~]# systemctl disable --now firewalld
[root@service ~]# setenforce 0
[root@service ~]# getenforce 
Permissive
[root@service ~]# systemctl restart sshd

2.拒绝root用户远程登陆 

#请保持服务器上至少有一个可以远程登陆的普通远程账号
#修改配置文件如下:
#打开该选项并修改参数为no
PermitRootLogin no
#重启服务后生效,使用时使用普通用户进行登陆,需要使用root用户时再切换
#说明:注意新版本rhel9中的/etc/ssh/sshd_config和/etc/ssh/sshd_config.d/*.conf中的
配置

3.允许特定用户ssh登陆,其他用户都无法登陆

#编辑配置文件,在最后添加如下内容:
AllowUsers USERNAME
#USERNAME为你允许登陆的账号【需要在系统中useradd该账号】,如果是多个用户,中间用空格隔开
#重启ssh服务后生效

 4.linux客户端通过秘钥登录linux服务端root用户

#创建密钥对
[root@client ~]# ssh-keygen -t rsa 
#复制该公钥文件到服务端的该目录下
[root@client ~]# ssh-copy-id root@192.168.36.136
#在本地服务器上登入对端服务器
[root@client ~]# ssh root@192.168.36.136

 ssh免密登入成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值