Linux中的远程登录服务

本文介绍了在Linux环境中如何处理远程登录服务的问题,包括客户端和服务端的SSH密钥管理,解决身份认证失败的方法,以及如何通过ssh-keygen和ssh-copy-id实现无密码登录。此外,还涉及到sshd服务的安全优化参数和网桥配置,确保虚拟机与主机的网络互通。

打开两个虚拟机nodea nodeb,并设定ip,更改主机名称.   

.Openssh的功能
       在企业中都是一对多个服务器操作,所以需要通过网络登录远程主机,需要通过网络在远程主机开启shell来进行操作,远程主机必须提供这样的开启shell的方式,以上的需求由openssh服务来提供,要求远程主机安装了openssh并开启了这个程序,那么我们就可以通过网络来连接这台主机了。
       OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。当主机中开启openssh服务,那么就对外开放了远程连接的接口。openssh服务的服务端为sshd,客户端为:ssh
当主机中开启openssh服务,那么就对外开放了远程连接的接口
#1.sshd服务的用途#
#作用
#可以实现通过网络在远程主机中开启安全shell的操作
Secure SHell                    ===>ssh ##客户端
Secure SHell daemon      ===>sshd ##服务端
#2.安装包#
openssh-server (默认主机存在,如果没有需要下载)
#3.主配置文件#
/etc/ssh/sshd_conf  
#4.默认端口#  
22    netstat-antulpe 端口扫描命令
#5.客户端命令#
ssh
#### .ssh ####
#1.基本用法#
 ssh [-l 远程主机用户] <ip|hostname>
 ssh -l root 172.25.254.114 通过ssh命令在114主机中以root身份开启远程shell
       首次登陆需要身份证明生成过程确认,当输入yes后,114主机会向当前主机发送身份公钥,并保存此公钥  到/.ssh/know_hosts.114主机持有私钥,当客户主机再次连接时会对客户主机进行身份验证.如果身份验证信息更改(服务器公私钥更换,则会出现远程连接失败)

实验: 远程主机连接失败如何处理(客户端连接服务器失败)

服务器:[root@westoshost114 Desktop]# cd /etc/ssh

[root@westoshost114 ssh]# ls

moduli        ssh_host_ecdsa_key        ssh_host_rsa_key

ssh_config    ssh_host_ecdsa_key.pub    ssh_host_rsa_key.pub

ssh_config.d  ssh_host_ed25519_key

sshd_config   ssh_host_ed25519_key.pub

[root@westoshost114 ssh]# cat ssh_host_ecdsa_key.pub 服务端在root /ssh..中存储信息

ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBO02qy9ZjMU6swV2lboEqYOAqmd/YICzaOcsDoPzneLt2Va0wgiROKcdFGJfsCx0mORKmmJDl/UZXOH8rgZ89bM=

[root@westoshost114 ssh]# rm -fr /etc/ssh/ssh_host_* 删除服务端公私密钥,并重启sshd服务

[root@westoshost114 ssh]# systemctl restart sshd

[root@westoshost114 ssh]# ls /etc/ssh/

moduli        ssh_host_ecdsa_key        ssh_host_rsa_key

ssh_config    ssh_host_ecdsa_key.pub    ssh_host_rsa_key.pub

ssh_config.d  ssh_host_ed25519_key

sshd_config   ssh_host_ed25519_key.pub

[root@westoshost114 ssh]# cat ssh_host_ecdsa_key.pub

ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGQKP6oyk6bYWwC8tLLOwC1CJMNzdJAuM7iJcooheaCkjvs8xDxvhs4BGl/OiCbFbl1M4Au9fCQP1efcc5BZOwo=

 客户端:[root@westoshost214 Desktop]# ssh -l root 172.25.254.114    失败             

[root@westoshost214 Desktop]# cat /root/.ssh/known_hosts 客户端在/root中存储认证信息

Add correct host key in /root/.ssh/known_hosts to get rid of this message.

Offending ECDSA key in /root/.ssh/known_hosts:2 错误发生位置 (因本地保存的服务器公钥与服务端已经更换了得密钥不匹配,导致身份认证失败.解决方案:按照提示行错误,删除文件中的报错行,重新获取密钥即可)

ECDSA host key for 172.25.254

[root@westoshost214 Desktop]# vim /root/.ssh/known_hosts

(删除文件中保存的公钥在重新获取公钥即可)

[root@westoshost214 Desktop]# ssh -l root 172.25.254.114成功

[root@westoshost214 Desktop]# cat /root/.ssh/known_hosts

172.25.254.114 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGQKP6oyk6bYWwC8tLLOwC1CJMNzdJAuM7iJcooheaCkjvs8xDxvhs4BGl/OiCbFbl1M4Au9fCQP1efcc5BZOwo=

ssh 常用参数#
 -l                #指定登陆用户   (默认是文本连接)
 -i                #指定私钥
 -X              #开启图形

  -f               #后台运行

  -o              #指定连接参数

 # ssh -l root@172.25.254.x -o "StrictHostKeyChecking=no" 首次连接不需要输入yes

   -t               #指定连接跳板             

#### 三.sshd key认证 #### 

#1.认证类型#

1.对称加密
加密和解密是同一串字符
容易泄漏
可暴力破解
容易遗忘
2.非对称加密
加密用公钥解密用私钥
不会被盗用
攻击者无法通过无密钥方式登陆服务器
#2.生成非对称加密密钥#

#方法1
$ ssh-keygen

#方法二
$ssh-keygen -f /root/.ssh/id_rsa -P ""

#3.对服务器加密#

 ssh-key 认证

生成非对称加密密钥 私钥用来加密 公钥解锁

客户端214要连接服务器114

客户端设置:

# cd /root/.ssh/

# ls

authorized_keys  known_hosts(指纹密码)

# rm -fr /root/.ssh/

# ssh-keygen -f(指定保存加密字符的文件) /root/.ssh/id_rsa -P(指定密码) ""(用密钥生成命令把密钥生成)

# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.114(要锁谁就写谁)给我们服务器指定的用户上锁

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

root@172.25.254.114's password:

# ls

authorized_keys  id_rsa  id_rsa.pub  known_hosts

客户端直接连接114 不需要密码

# ssh -l root 172.25.254.114

#### .sshd 安全优化参数详解 ####

setenforce
systemctl disable --now firewalld
Port 2222
#设定端口为2222      ssh -l root 172.25.254.174 -p  2021
PermitRootLogin yes|no #对超级用户登陆是否禁止
PasswordAuthentication yes|no #是否开启原始密码认证方式  如果关闭后有私钥的客户端可以不用密码直接进入 没有的则没有权限进入
AllowUsers lee #用户白名单 当用户中的白名单出现后  只有白名单中的用户可以连接 其他都不可以
DenyUsers lee #用户黑名单

什么是网桥?

用来连接两个不同网段的网络设备,使真机和虚拟机处在平行网

搭建网桥

[root@westos_student14 network-scripts]# virsh list

 Id    Name                           State

----------------------------------------------------

 1     nodea                          running

[root@westos_student14 network-scripts]# virsh destroy nodea   (关闭虚拟机)

Domain nodea destroyed

[root@westos_student14 ~]# westos-network common   对主机之前搭建好的网桥进行断开 

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/19)

[root@westos_student14 ~]# cd /etc/sysconfig/network-scripts/

[root@westos_student14 network-scripts]# ls

ifcfg-enp0s25

[root@westos_student14 network-scripts]# vim ifcfg-enp0s25

DEVICE=enp0s25

BOOTPROTO=none

ONBOOT=yes

BRIDGE=br0

NAME=enp0s25

[root@westos_student14 network-scripts]# vim ifcfg-br0

DEVICE=br0

TYPE=Bridge

ONBOOT=yes

BOOTPROTO=none

IPADDR=172.25.254.14

PREFIX=24

NAME=br0

[root@westos_student14 network-scripts]# nmcli connection reload

[root@westos_student14 network-scripts]# nmcli connection up br0

Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/21)

[root@westos_student14 network-scripts]# nmcli connection up enp0s25

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/22)

[root@westos_student14 network-scripts]# bridge link  查看网桥连接

2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100

6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 master virbr0 state disabled priority 32 cost 100

westos-vmctl start nodea 

westos-vmctl view nodea   重启虚拟机 打开网卡

[root@westos_student14 network-scripts]# systemctl restart libvirtd   (网桥不显示的话重启一下虚拟化)

Ping 172.25.254.14看是否能拼通。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值