文章目录

  • 一、实验环境布置
  • 二、Openssh 服务的基本信息
  • 三.Openssh 服务的 key 认证
  • 四.Openssh 服务的安全配置
  • 五.远程执行命令
  • 六.sshd 登陆信息修改

一、实验环境布置

两台虚拟机,一台作为服务端,一台作为
client:
westos_client.westos.com 172.25.254.10
server:
westos_node1.westos.com 172.25.254.20

$sudo ifconfig ##查看 ip 地址
$sudo nm-connection-editor ##设定 ip 地址
$sudo hostnamectl set-hostname ##设定主机名称

二、Openssh 服务的基本信息

1.作用:
在企业中的运维工作,不是 1v1 的运维,运维工程师基本都是 1vN。在运维工程师对服务器进行管理时,需要通过网络登陆远程主机,需要通过网络在远程主机中开启 shell 来进程操作,远程主机必须提供这样的开启 shell 的方式。所以就有了 openssh 服务来提供解决这个问题的方法。远程主机中安装了 openssh 并开启了这个服务,那么我们就可以通过网络来连接这台主机了。

2.软件包名称
openssh-server

3.服务名称
sshd

4.客户端
ssh

$sudo ssh 172.25.254.20 -l root #172.25.254.20 远程主机 ip#-l login 登陆#root 远程主机的超级用户

[root@westos_client ~]# ssh 172.25.254.20 -l root

The authenticity of host '172.25.254.20 (172.25.254.20)' can't be established.
ECDSA key fingerprint is SHA256:+5Ikt8ZExrRdLzOg19xsL5PhAYPt8GB7umvLcSF/dlM.
Are you sure you want to continue connecting (yes/no)? `yes`  #输入yes 建立关系
Warning: Permanently added '172.25.254.20' (ECDSA) to the list of known hosts.
root@172.25.254.20's password:  ##输入远程主机密码
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Thu Dec 17 09:02:58 2020
[root@westos_node1 ~]#           ##登陆成功

5.sshd 服务端口
22/tcp

6.配置文件
/etc/ssh/sshd_config

三.Openssh 服务的 key 认证

1.用户密码认证 (对称加密)

  • 密码容易泄漏
  • 容易忘记

2.密钥认证 (非对称加密)

  • 安全
  • 不会忘记密码

3.建立 key 认证的方式

  • 建立 key 文件
    172.25.254.10 主机
    [root@westos_client ~]# ssh-keygen ##建立认证 key 文件
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): ##加密字符保存位置
    Enter passphrase (empty for no passphrase):##key 认证密码,通常设定为空
    Enter same passphrase again:##重复 key 认证密码
    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:
    SHA256:Uh8cYTxqCShLnD3NUxpIQ4/NOtSVuyPuMzHuGnxSd1k root@westos_client.westos.com
    The key’s randomart image is:
    ±–[RSA 2048]----+
    | . =+=…oo+. |
    | = =B=+.oo. |
    | . oo.*o.+o.E |
    | … . .=. + |
    | o o.S.+ |
    | . o+oo. |
    | +o.+ . |
    | += |
    | .+oo |
    ±—[SHA256]-----+

  • 上传公钥 (加密远程主机)
    [root@westos_client ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.20

#ssh-copy-id      上传密钥命令
#-i                 指定公钥
#/root/.ssh/id_rsa.pub   公钥名称
#root       远程主机被加密用户
#@    分割符
#172.25.254.20    远程主机地址

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: “/root/.ssh/id_rsa.pub”
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed – if you are prompted now it is to install the new keys
root@172.25.254.20’s password: ##远程主机密码
Number of key(s) added: 1
Now try logging into the machine, with:
" ssh ‘root@172.25.254.20’ "
and check to make sure that only the key(s) you wanted were added.

  • 测试
    172.25.254.10 主机中
    1.ssh root@172.25.254.20
    2.mv /root/.ssh/id_rsa* /mnt ##免密连接3.reboot
    4.ssh root@172.25.254.20 ##因为密钥被移除所以不能免密
    5.mv /mnt/id_rsa /root/.ssh ##重新恢复密钥
    6.ssh root@172.25.254.20 ##免密连接

四.Openssh 服务的安全配置

1.端口修改

$sudo vim /etc/ssh/sshd_config17 port 22 -----> port 1111

测试:
[root@westos_client ~]# ssh 172.25.254.20 -l root
ssh: connect to host 172.25.254.20 port 22: Connection refused #默认连接被拒绝

[root@westos_client ~]# ssh 172.25.254.20 -l root -p 1111
#指定的的端口连接
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Sat Apr 25 11:05:31 2020 from 172.25.254.10

2.端口绑定

$sudo vim /etc/ssh/sshd_config19 #ListenAddress 0.0.0.0  ----> ListenAddress 172.25.254.20

测试:
原 172.25.254.20 主机中
参数未发生变化:
ssh 172.25.254.20 -l root #可以
ssh 127.0.0.1 -l root #可以

参数发生变化
ssh 172.25.254.20 -l root #可以
ssh 127.0.0.1 -l root #拒绝

3.密码认证的关闭

$sudo vim /etc/ssh/sshd_config73 PasswordAuthentication no  ##禁用密码认证

测试:
172.25.254.10 有密钥
172.25.254.20 无密钥
172.25.254.10 ----->ssh root@172.25.254.20 ##可以登陆
172.25.254.20 ----->ssh root@172.25.254.20 ##可以输入密码

参数更改并重启服务后
172.25.254.10 ----->ssh root@172.25.254.20 ##可以登陆
172.25.254.20 ----->ssh root@172.25.254.20 ##不可输入密码直接被拒绝

4.sshd 服务的用户控制
建立实验素材
在服务器172.25.254.20中:

$sudo useradd westos
$sudo useradd lee
$sudo echo lee| passwd --stdin westos
$sudo echo lee| passwd --stdin lee

操作完成系统中存在至少 3 个用户

用户    密码
root    lee
westos  lee
lee     lee

#root 用户的访问控制

$sudo vim /etc/ssh/sshd_config46 PermitRootLogin yes --->PermitRootLogin no #禁止 root 用户使用 ssh 进行认证

实验:
原172.25.254.20中:
ssh 172.25.254.20 -l root ##默认输入正确秘密可以完成认证

修改参数后
ssh 172.25.254.20 -l root ##输入正确密码仍然不能登陆

#用户黑名单 (默认可以登陆,名单中的用户被禁止)

$sudo vim /etc/ssh/sshd_configDenyUser lee ##lee 用户不能使用 sshd 服务

实验:
原172.25.254.20中:
ssh 172.25.254.20 -l lee ##默认可以登陆
ssh 172.25.254.20 -l westos ##可以登陆

修改参数后
ssh 172.25.254.20 -l westos ##可以登陆
ssh 172.25.254.20 -l lee ##不可以登陆

#用户白名单 (默认不可以登陆,名单中的用户被允许)

$sudo vim /etc/ssh/sshd_configAllowUsers westos ##westos 用户可以使用 sshd 服务,默认用户被禁止

实验:
原172.25.254.20中:
ssh 172.25.254.20 -l lee ##默认可以登陆
ssh 172.25.254.20 -l westos ##可以登
ssh 172.25.254.20 -l root ##可以登陆

修改参数后
ssh 172.25.254.20 -l westos ##可以登陆
ssh 172.25.254.20 -l lee ##不可以登陆
ssh 172.25.254.20 -l root ##不可以登陆

五.远程执行命令

172.25.254.20 登陆模式选择第二个(X11 模式)

172.25.254.10中:

ssh 172.25.254.20 -l root ##此方法登陆时不能调用远程主机的图形命令
ssh -X 172.25.254.20 -l root ##当前登陆可以调用图形 -X 代表启用 x11 图形连接
ssh 172.25.254.20 -l root touch /root/Desktop/westosfile{1..10} ##直接执行命令在远程主机中
ssh 172.25.254.20 -l root -o StrictHostKeyChecking=no ##在连接主机时不检测 HOSTKEY##(屏蔽 yes、no 的输入)

六.sshd 登陆信息修改

在172.25.254.20中:

$sudo vim /etc/motd

在上述命令查看的文件中有什么字符在 ssh 登陆时就可以看到什么字符

在Linux中实现远程登陆服务相关推荐

  1. Linux中的远程登陆服务

    Linux中的远程登陆服务 1. Openness功能 2.ssh命令的使用方法 2.1 常用参数 3.sshd的key认证 3.1 认证类型 3.2 生成非对称加密密钥 3.3 对服务器加密 4. ...

  2. 8.linux中的远程登录服务

    8.linux中的远程登录服务 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1.需要源码安 ...

  3. Linux中的远程登陆

    1.sshd服务的用途 可以实现通过网络远程安全打开其他主机的shell 主配置文件位置 /etc/ssh/sshd.conf 命令 ssh 安装包 openssh-server 端口 22 2.ss ...

  4. Linux 中的远程登陆

    ####1.Openshh 功能介绍#### Openshh是ssh(Secure SHell)协议当中的免费开源软件 软件安装名称 :Openshh-server 配置文件 :/etc/ssh/ss ...

  5. Linux配置ssh远程连接服务

    Linux配置ssh远程连接服务 直接上命令: sudo apt-get update sudo apt-get remove --purge openssh-client sudo apt inst ...

  6. Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下

    在Linux中要重启apache服务与在windows是有很大的区别,下面我们来介绍一下常用的命令,需要的朋友参考下吧(http://www.hnkjlb.com) linux系统为Ubuntu 一. ...

  7. Linux中Mycat远程连接Mysql8.0提示密码错误

    Linux中Mycat远程连接Mysql8.0提示密码错误 问题: 当在linux中使用mycat远程连接时候会提示密码错误,具体如下: 解决 防火墙 最开始以为是防火墙未关闭 通过查看防火墙状态发现 ...

  8. linux关闭涉及安全的服务,Linux中关闭不必要服务减少漏洞

    Linux中关闭一些不必要使用的服务进程以减少漏洞.因为是桌面机应用,因此只保留必要的服务就可以了.下面是一个例子,基本上可以满足用户需要. #可以使用chkconfig --list来查看系统打开的 ...

  9. 如何远程链接linux服务器,如何远程登陆Linux/Windows服务器

    原标题:如何远程登陆Linux/Windows服务器 如何远程登录Linux或Windows服务器?租用了服务器,需要远程登录后才能管理自己的服务器.不同操作系统的服务器远程登录方法不一样,下面优与云 ...

最新文章

  1. matlab 2014a 升级,MATLAB R2014a从入门到精通(升级版) pdf扫描版[42MB]
  2. SQLSERVER使用CLR Stored Procedure导出数据到Excel
  3. 因果推断 - 反事实
  4. 互联网产品跨部门沟通的10个原则(转)
  5. python中线程和进程_python中线程和进程的简单了解
  6. 网页图表Highcharts实践教程之标签组与载入动画
  7. 数据结构基础(7) --循环队列的设计与实现
  8. 可口可乐开了家网店卖奶,价值62亿元
  9. php搜索文件名,PHP搜索文件且列出文件名的代码参考
  10. 2013dgtcs 数字编码
  11. Java---集合类框架图
  12. 这不就是微信朋友圈屏蔽功能吗?推特现在才做出来未免太迟了吧
  13. 电脑退出安全模式后连不上网
  14. 一定要独立,一定要争气
  15. Visual Studio 2019安装AutoCAD_2020_dotnet_wizards
  16. Supercharger
  17. 安东尼奥尼.中国.有意思镜头.2
  18. 51Nod-1319-跳跃游戏(三角形定理)
  19. 命令行有道翻译,可添加到单词本
  20. iOS 视图控制器的方法执行顺序

热门文章

  1. 游戏开发教程cocos2d-x移植之一
  2. React项目部署踩坑
  3. 只需2分钟成功注册Tiktok
  4. python中globals()_Python中globals()的原因?
  5. 像科学家一样思考python_像计算机科学家一样思考Python(第2版)
  6. 1个卷积核二分类0,1的神经网络的特征频率曲线
  7. (4)第一个单机项目手机锁----------Service的实现
  8. Win7 Paimei 安装
  9. Python绘制图像的灰度直方图、累计直方图
  10. 今天给我的Ubuntu服务器挂在了一个4T的硬盘却只能识别到2T,原来是因为这!涨知识了