ssh是一种网络协议,用于计算机之间的加密登录,可以有效防止远程管理过程中的信息泄露问题。刚开始学习时都没搞清楚哪个是服务端和客户端??? 其实本地想要连接远程主机的叫客户端,被连接的这个远程主机就是服务端

在本篇文章中,我的客户端是192.168.239.141服务端是192.168.239.138

SSH服务器和客户端的工作流程

七、ssh服务及免密登陆
(1) SSH客户端发出请求连接SSH服务器
(2) SSH服务器检查SSH客户端数据包和IP地址
(3) SSH服务器通过安全验证后发送**给SSH客户端
(4) 本地sshd守护进程将**送回远程SSH服务器
至此,SSH客户端和远程SSH服务建立了一个加密会话

  1. 连接前,ifconfig 查看客户端服务端ip地址
    七、ssh服务及免密登陆
    七、ssh服务及免密登陆

2.ping 192.168.239.138 查看ip是否连通
七、ssh服务及免密登陆

连接方式

   ssh [email protected]         ## 文本模式的链接
   ssh ip            ## 本地用户名和远程用户名一致时
   ssh -X [email protected]        ## 可以在链接成功后开机图形
   ssh -p 2222 [email protected]      ## 使用2222端口登陆
  七、ssh服务及免密登陆

  远程复制
   scp file [email protected]:dir       ## 上传
   scp [email protected]:file dir       ## 下载

两种登陆方式

  一.口令登陆:第一次登录陌生主机时要建立认证文件,询问是否建立,输入yes,再次链接该主机时,因生成~/.ssh/known_hosts文件,所以直接提示输入密码
七、ssh服务及免密登陆

   2.**登陆(免密码):用户将自己的公钥储存在远程主机上,登陆时,远程主机向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先存储的公钥进行解密,成功则证明用户可信,直接允许免密码登陆
具体操作:(服务端和客户端均可生成**,只需要将id_rsa.pub这个锁(公钥)挂在远程主机上就可以)

法一:服务端(远程主机)上创建**
1. 【客户端141】 # ssh -X [email protected]138     ## 141 >> 138 客户端先访问远程主机建立连接
七、ssh服务及免密登陆
2. 【服务端138】 # ssh-******          ##远程主机上创建**对 一路回车,最后在远程主机的/root/.ssh文件夹中生成id_rsa, id_rsa.pub私钥和公钥
七、ssh服务及免密登陆
七、ssh服务及免密登陆

3.【服务端138】 # ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]138         ##挂锁(加密服务) ##yes >> passwd
七、ssh服务及免密登陆

4.【服务端138】# ls /root/.ssh                ## authorized_keys文件出现表示加密完成
七、ssh服务及免密登陆
5.【服务端138】 # scp /root/.ssh/id_rsa [email protected]141:/root/.ssh/        ##发钥匙,将id_rsa复制到客户机的.ssh文件夹中
七、ssh服务及免密登陆
七、ssh服务及免密登陆
6.【客户端141】 # ssh [email protected]138                      ##连接时直接登陆不需要密码认证
七、ssh服务及免密登陆

法二:客户机(本地)上创建**
1.【客户端141】 # ssh-******                        ##客户机生成**对
2.【客户端141】 # ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]138   ##挂锁(加密服务) ##yes >> passwd
3.【客户端141】 # ssh [email protected]138                 ##连接时直接登陆不需要密码认证

注意:法二少scp /root/.ssh/id_rsa分发钥匙这一步,法二刚开始是否先访问远程主机无所谓

安全配置

  配置文件/etc/sysconfig/sshd_config

78 PasswordAuthentication yes|no                    ##是否允许用户通过登陆系统的密码做sshd的认证
48 PermitRootLogin yes|no	                        ##是否允许root用户通过sshd服务的认证
52 Allowusers student westos	                    ##设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd
53 Denyusers	westos		                        ##设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd

七、ssh服务及免密登陆

服务管理

  systemctl status sshd                 ##查看ssh服务的状态
  systemctl stop sshd                 ##关闭ssh服务
  systemctl start sshd                 ##开启ssh服务
  systemctl restart sshd               ##重新启动ssh服务
  systemctl enable sshd               ##设定sshd服务开机启动
  systemctl disable sshd               ##设定sshd服务开机关闭
  systemctl list-units                ##列出当前系统服务的状态
  systemctl list-unit-files              ##列出服务的开机状态
  systemctl mask sshd              ##锁定ssh服务,不能启动服务,除非解锁
  systemctl unmask sshd             ##解锁ssh服务
  systemctl set-default multi-user.target      ##开机不开启图形
  systemctl set-default graphical.target     ##开机启动图形

添加sshd登陆信息

  vim /etc/motd           ##文件内容就是登陆后显示的信息

添加sshd登陆信息

  1.w              ##查看正在使用当前系统的用户
       -f ## 查看使用来源
       -i ## 显示IP
    /var/run/utmp
  2.last              ##查看使用过并退出的用户信息
    /var/log/wtmp
3.lastb               ##试图登陆但没成功的用户
    /var/log/btmp

相关文章:

  • 2021-08-13
  • 2021-11-27
  • 2021-08-27
  • 2021-05-20
猜你喜欢
  • 2022-01-18
  • 2021-10-11
  • 2021-12-06
  • 2021-04-09
  • 2021-12-15
相关资源
相似解决方案