SSH(Secure SHELL)是一种开源且最受信任的网络协议,用于登录远程服务器以执行命令和程序。它还用于使用安全副本(SCP)协议通过网络将文件从一台计算机传输到另一台计算机。

在本文中,我们将向您展示如何使用ssh密钥在RHEL / CentOS 7.x / 6.x / 5.x和Fedora上设置无密码登录,以便在不输入密码的情况下连接到远程Linux服务器。使用SSH密钥进行无密码登录将增加两台Linux服务器之间的信任,以便轻松进行文件同步或传输。

我的设置环境

SSH客户端:192.168.0.12(Fedora 21)
SSH远程主机:192.168.0.11(CentOS 7)

如果您正在处理多个Linux远程服务器,那么SSH无密码登录是自动执行任务的最佳方式之一,例如使用脚本自动备份,使用scp执行同步文件和远程命令执行。

在这个例子中,我们将设置SSH无密码自动登录从服务器192.168.0.12作为用户tecmint到192.168.0.11与用户sheena。

步骤1:在 - (192.168.0.12)上创建身份验证SSH-Kegen密钥

首先使用用户tecmint登录到服务器192.168.0.12,然后使用以下命令生成一对公钥。

[tecmint@tecmint.com ~]$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key]
Created directory '/home/tecmint/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/tecmint/.ssh/id_rsa.
Your public key has been saved in /home/tecmint/.ssh/id_rsa.pub.
The key fingerprint is:
5f:ad:40:00:8a:d1:9b:99:b3:b0:f8:08:99:c3:ed:d3 tecmint@tecmint.com
The key's randomart image is:
+--[ RSA 2048]----+
|        ..oooE.++|
|         o. o.o  |
|          ..   . |
|         o  . . o|
|        S .  . + |
|       . .    . o|
|      . o o    ..|
|       + +       |
|        +.       |
+-----------------+

步骤2:创建.ssh目录 - 192.168.0.11

使用服务器192.168.0.12的 SSH 连接服务器192.168.0.11,使用sheena作为用户,并使用以下命令在其下创建.ssh目录。

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11 mkdir -p .ssh

The authenticity of host '192.168.0.11 (192.168.0.11)' can't be established.
RSA key fingerprint is 45:0e:28:11:d6:81:62:16:04:3f:db:38:02:la:22:4e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.11' (ECDSA) to the list of known hosts.
sheena@192.168.0.11's password: [Enter Your Password Here]

步骤3:将生成的公钥上载到 - 192.168.0.11

从服务器使用SSH 192.168.0.12和上传新生成的公钥(id_rsa.pub在服务器上)192.168.0.11下希娜的的.ssh目录作为文件名的authorized_keys。

[tecmint@tecmint ~]$ cat .ssh/id_rsa.pub | ssh sheena@192.168.0.11 'cat >> .ssh/authorized_keys'

sheena@192.168.1.2's password: [Enter Your Password Here]

步骤4:设置权限 - 192.168.0.11

由于服务器上的SSH版本不同,我们需要在.ssh目录和authorized_keys文件上设置权限。

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

sheena@192.168.0.11's password: [Enter Your Password Here]

步骤5:从192.168.0.12登录到没有密码的192.168.0.11服务器

从现在开始,您可以从服务器192.168.0.12作为sheena用户登录192.168.0.11作为没有密码的tecmint用户。

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

zh_CNChinese
en_USEnglish zh_CNChinese