当前位置:   article > 正文

如何配置ssh服务?_ssh配置

ssh配置

学习目标:

  • 了解SSH协议的作用
  • 学会运用基于SSH的两种安全验证方法
  • 理解sshd服务配置文件的参数及作用
  • 学会使用ssh管理远程主机
  • 学会使用会话共享功能
  • 学会检索日志信息

学习内容:

  1. SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。
  2. sshd是基于SSH协议开发的协议开发的一款远程管理服务程序,且提供两种安全验证的办法。
    认证方式内容
    基于密码的认证用账号和密码来验证登录
    基于密钥的验证在本地生成密钥对,然后把密钥对的公钥上传到服务器,并与服务器的公钥进行比较
  3. sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。通过修改程序配置文件的运行参数,可以使得相关的服务顺利运行。

  4. scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp 【参数】本地文件 远程账户@远程ip地址:远程目录”,与cp命令不同,cp命令只能在本地硬盘中进行文件复制,而scp不仅能够通过网络传输数据,而且所有的数据都会经过加密处理。

    参数作用
    -v显示详细的连接进度
    -P指定远程主机的sshd端口号
    -r用来传送文件夹
    -6使用IPv6协议
  5. 为了解决网络异常中断或为了同时控制多个远程终端窗口的需要,可以利用开源服务程序Terminal Multiplexer(终端复用器,简称Tmux)带来的强大功能。它可以实现会话恢复、多窗口以及会话共享等功能。

  6. Linux系统拥有强大且灵活的日志系统,用于保存几乎所有的操作记录和服务运行状态,在RHEL8系统中,默认的日志服务程序是rsyslog。下表是常见的日志文件保存路径。

    文件路径作用
    /var/log/boot.log系统开机自检事件及引导过程等信息
    /var/log/lastlog

    用户登录成功事件、终端名称及IP地址等信息

    /var/log/btmp记录登录失败的时间、终端名称及IP地址等信息
    /var/log/messages系统及各个服务的运行和报错信息
    /var/log/secure系统安全相关信息
    /var/log/wtmp系统启动与关机等相关信息


实验输出:

实验环境说明:这里创建了三台虚拟机,其中一台是服务端,另外两台是客户端。信息如表所示:

虚拟机IP地址
服务器192.168.10.10
客户机1192.168.10.20
客户机2192.168.10.30

实验一:使用ssh命令远程连接服务器,格式为“ssh 【参数】IP地址”或“ssh 【参数】域名”,要退出远程登录则执行“exit”命令。

  1. [root@client2 ~]# ssh tammy@server
  2. tammy@server: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
  3. [root@client2 ~]# ssh tammy@server
  4. tammy@server's password:
  5. Activate the web console with: systemctl enable --now cockpit.socket

实验二:安全密钥验证 ,在客户端主机生成密钥对,并将密钥对传送给服务器。

step1:在客户端主机生成密钥对,命令是“ssh-keygen”

step2: 把客户机生成的公钥文件传送给服务器,命令是:ssh-copy-id 192.168.10.10

 step3:在服务器设置sshd的主配置文件,只允许密钥验证,拒绝传统的密码验证方式,并重启sshd服务程序。在73行处改成“no”。

  1. vim /etc/ssh/sshd_config
  2. # To disable tunneled clear text passwords, change to no here!
  3. 71 #PasswordAuthentication yes
  4. 72 #PermitEmptyPasswords no
  5. 73 PasswordAuthentication no
  6. 74
  7. # Change to no to disable s/key passwords
  8. #ChallengeResponseAuthentication yes
  9. ChallengeResponseAuthentication no

 step4:客户端远程登录服务器,无需密码即可登录

  1. [root@client2 ~]# ssh server
  2. Activate the web console with: systemctl enable --now cockpit.socket
  3. Last login: Tue Mar 7 21:24:40 2023 from 192.168.10.20

实验三:学会使用scp远程传输命令,

 step1:在客户端创建一个文件并写入内容,然后传送到服务器。

  1. [root@client2 ~]# echo "welcome to my blog!" > sshwl
  2. [root@client2 ~]# scp /root/sshwl 192.168.10.10:/home
  3. sshwl 100% 20 31.1KB/s 00:00

step2: 这时候去服务器的/home目录下看是否传送到位了。

 实验四:实现会话共享功能。

step1:首先在客户机1ssh远程管理服务器,并使用tmux服务创建一个新的会话层窗口king。

  1. [root@client2 ~]# ssh 192.168.10.10
  2. Activate the web console with: systemctl enable --now cockpit.socket
  3. Last login: Tue Mar 7 21:38:24 2023 from 192.168.10.20
  4. [root@server ~]# tmux new -s king

step2:在客户机2ssh远程管理服务器,并执行获取远程会话的命令。

  1. [root@client3 ~]# ssh 192.168.10.10
  2. root@192.168.10.10's password:
  3. Activate the web console with: systemctl enable --now cockpit.socket
  4. Last login: Tue Mar 7 21:47:57 2023 from 192.168.10.20
  5. [root@server ~]# tmux attach-session -t king

step3:这时候大家可以看到输入的信息是实时同步的,非常强大!

这里我买个关子,大家做实验的时候一定要体验这个神奇的功能,如果有不懂的话可以私信我! 

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号