ToB企服应用市场:ToB评测及商务社交产业平台

标题: 集群部署专题之一:详解集群间SSH无密码登录配置步骤 [打印本页]

作者: 用多少眼泪才能让你相信    时间: 2023-9-3 15:13
标题: 集群部署专题之一:详解集群间SSH无密码登录配置步骤
一、SSH简介

SSH(Secure Shell)是一种网络安全协议,通过加密和认证机制实现安全访问和文件传输等业务。传统远程登录和文件传输方式有Telnet或FTP,这两种方式都使用明文传输数据,存在很多安全隐患。SSH采用加密传输数据、提升认证强度等手段,克服了Telnet和FTP应用中的安全性问题,实现了安全的远程登录和文件传输业务。
二、SSH登录两种常见的认证方式

SSH依赖端口(默认22端口)进行通信。SSH服务器在指定端口侦听连接请求,客户端向SSH服务器该指定端口发起连接请求后,双方建立一个TCP连接,后续通过该端口通信。
SSH客户端向SSH服务器发起认证请求,服务端对客户端进行认证,有以下两种常见的认证方式:
1、密码(password)认证

通过用户名和密码的方式进行认证,客户端将加密后的用户名和密码发送给服务器,服务器解密后与本地保存的用户名和密码进行对比,并向客户端返回认证成功或失败的消息。
密码认证流程:
密码认证方式比较简单,每次登录需要输入用户名和密码,但存在中间人攻击的风险,如果有人截获了SSH客户端的登录请求后,冒充SSH服务器将伪造的公钥发送给SSH客户端,就可能获取到用户的登录密码。
2、密钥(publickey)认证

客户端通过用户名,公钥以及公钥算法等信息来与服务器进行认证,密钥认证可以实现安全性更高的免密登录,是一种广泛使用且推荐的登录方式。
秘钥认证流程:
三、无密码登录配置

  1. 10.206.6.24  #SSH客户端,work客户端账号
  2. 10.206.6.23  #SSH服务端
复制代码
1、客户端生成公钥和私钥

使用work账号登录(work为配置无密码登录的测试账号)客户端,输入命令:ssh-keygen -t rsa,在输入提示处,直接按确定即可。
  1. [work@VM-6-24-rockylinux ~]$ ssh-keygen -t rsa
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/home/work/.ssh/id_rsa):
  4. Created directory '/home/work/.ssh'.
  5. Enter passphrase (empty for no passphrase):
  6. Enter same passphrase again:
  7. Your identification has been saved in /home/work/.ssh/id_rsa
  8. Your public key has been saved in /home/work/.ssh/id_rsa.pub
  9. The key fingerprint is:
  10. SHA256:eTluXlSSrU4VxAgAbyuzKr1Tj8j9AWdyRp1kGvEz0kc work@VM-6-24-rockylinux
  11. The key's randomart image is:
  12. +---[RSA 3072]----+
  13. |      ..+o+.E+o  |
  14. |       . O o.o.. |
  15. |        * B + +  |
  16. |       o + = =   |
  17. |      = S + +    |
  18. |      .@ o =     |
  19. |   o +.o. o o    |
  20. |  . =.o .+ .     |
  21. |   .oo .. .      |
  22. +----[SHA256]-----+
复制代码
执行完成后,在当前用户的~/.ssh目录下生成id_rsa和id_rsa.pub文件,id_rsa为客户端私钥,id_rsa.pub为客户端公钥。
  1. [work@VM-6-24-rockylinux ~]$ tree -a ~/.ssh
  2. /home/work/.ssh
  3. ├── id_rsa
  4. └── id_rsa.pub
  5. 0 directories, 2 files
  6. .ssh为隐藏目录,可以使用ll -a命令查看。
复制代码
2、上传客户端公钥到服务端

上传方式一:自动上传
  1. ssh-copy-id root@10.206.6.23
  2. 然后输入服务端密码即可。
复制代码
上传方式二:手动上传
注意:如果想要配置服务端root账号的无密码登录,就在服务端root账号的/root/.ssh/目录下执行以下操作,如果是要配置其他账号的无密码登录就在指定账号的~/.ssh/目录下执行以下操作。
  1. 1、创建服务端目录(在服务端执行)
  2. mkdir -p ~/.ssh
  3. 2、上传客户端公钥(在客户端执行)
  4. scp -r id_rsa.pub root@10.206.6.23:/root/.ssh/
  5. 3、创建authorized_keys文件(在服务端执行)
  6. touch ~/.ssh/authorized_keys
  7. 4、文件权限设置(在服务端执行)
  8. touch ~/.ssh/authorized_keys
  9. chmod 710 ~/.ssh/authorized_keys
  10. 5、将公钥信息写入authorized_keys文件(在服务端执行)
  11. cat id_rsa.pub >> authorized_keys
复制代码
3、验证

在客户端work账号下执行,ssh root@10.206.6.23无需密码即可登录服务端。
四、开发、运维实用工具推荐

接下来向大家推荐一款对日常开发和运维,极具有实用价值的好帮手XL-LightHouse。
一键部署,一行代码接入,无需大数据相关研发运维经验就可以轻松实现海量数据实时统计,使用XL-LightHouse后:
XL-LightHouse简介
GitHub搜索XL-LightHouse了解更多!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4