Linux系统SSH互信配置指南
linux ssh互信配置

首页 2025-01-11 04:24:21



Linux SSH互信配置详解 在Linux系统中,SSH(Secure Shell)协议是一项创建在应用层和传输层基础上的安全协议,它为计算机上的Shell(壳层)提供安全的传输和使用环境

    传统的网络服务程序如rsh、FTP、POP和Telnet本质上都是不安全的,因为它们在网络上用明文传送数据、用户账号和用户口令,容易受到中间人攻击

    SSH是目前较可靠的协议,专为远程登录会话和其他网络服务提供安全性

    通过SSH,可以有效防止远程管理过程中的信息泄露问题,对所有传输的数据进行加密,并防止DNS欺骗和IP欺骗

     SSH的另一项优点是传输的数据可以是经过压缩的,因此可以加快传输速度

    SSH不仅可以代替Telnet,还可以为FTP、POP甚至PPP提供一个安全的“通道”

    本文将详细介绍如何在Linux系统中配置SSH互信,以实现免密登录,提高工作效率

     一、SSH互信配置的目的 SSH互信配置的主要目的是在多台Linux服务器之间实现免密登录,方便管理和操作

    具体的应用场景包括: 1.集群管理:在构建集群时,经常需要在不同节点之间进行操作,SSH互信可以简化这一过程,提高效率

     2.远程拷贝:在使用scp命令进行远程文件拷贝时,通常需要输入目标服务器的用户名和密码

    配置SSH互信后,可以实现免密拷贝,简化操作流程

     二、SSH互信配置的原理 SSH互信配置的原理基于公钥和私钥的认证机制

    简单来说,每台服务器生成自己的公钥和私钥对,并将自己的公钥发送给对方

    当执行登录操作时,服务器会自动使用对方的公钥进行认证,从而不需要再输入任何密码

     三、SSH互信配置的步骤 下面以两台Linux主机MYDB01和MYDB02为例,详细介绍SSH互信配置的步骤

     1. 生成公钥和私钥对 首先,在两台主机上分别生成公钥和私钥对

    可以使用`ssh-keygen`命令来生成

    在生成过程中,会提示输入保存密钥的文件名和设置密码短语(passphrase)

    为了简化操作,可以直接回车,使用默认的文件名和不设置密码短语

     MYDB01主机 【root@MYDB01 ~】# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key(/root/.ssh/id_rsa): Enter passphrase(empty for nopassphrase): Enter same passphrase again: 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:lQex2+SbdmGGNBvU8vjaTKVCbfAmk8Eva+C6BPJ49G0 root@MYDB01 The keys randomart image is: +---【RSA 2048】----+ | oo.. | | == . | | +@ | | ..BB=B . | | . o S..o=O+o | | = o .. +=+. | | . o o.E.+. | | . ... ...o | | .. | +----【SHA256】-----+ MYDB02主机 【root@MYDB02 ~】# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key(/root/.ssh/id_rsa): Created directory /root/.ssh. Enter passphrase(empty for nopassphrase): Enter same passphrase again: 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:8DGfMHFZDrEOOYhcpFGXI8tndQXTE4FampR6cTowAo4 root@MYDB02 The keys randomart image is: +---【RSA 2048】----+ | o++ o.+=+=+o | | + =oo=++=.o | | E =.o+OB.X. . | | oo+XB. | | oS.+. | | | | | | | +----【SHA256】-----+ 生成完成后,会在家目录下的`.ssh`目录中生成`id_rsa`(私钥)和`id_rsa.pub`(公钥)两个文件

    私钥的权限应该设置为600,公钥的权限应该设置为644,`.ssh`目录的权限应该设置为700

     2. 将公钥发送给对方 接下来,需要将生成的公钥文件发送给对方主机

    可以使用`ssh-copy-id`命令来完成这一操作

    该命令会将本地的公钥文件内容传输到对方的`.ssh`目录中,并生成名为`authorized_keys`的文件,同时设置相应的权限

     在MYDB01上执行以下操作 【root@MYDB01 .ssh】# ssh-copy-id 192.168.250.194 假设MYDB02的IP地址为192.168.250.194 /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 newkey(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@192.168.250.194s password: Number ofkey(s) added: 1 Now try logging into the machine, with: ssh 192.168.250.194 and check to make sure that

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道