在系统中有两台linux服务器A(192.168.0.12)、服务器B(192.168.0.6),现在需要的是可以在服务器A上不使用密码直接SSH连接服务器B。
一、生成公私钥
通过在客户机A上生成公私钥,生成的公私钥命令如下所示:
ssh-keygen -t rsa -f ~/.ssh/id_rsa -b:指定密钥长度; -e:读取openssh的私钥或者公钥文件; -C:添加注释; -f:指定用来保存密钥的文件名; -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥; -l:显示公钥文件的指纹数据; -N:提供一个新密语; -P:提供(旧)密语; -q:静默模式; -t:指定要创建的密钥类型。
执行完成后会在~/.ssh/根目录下生成id_rsa 和id_rsa.pub 文件。
二、将服务器A中生成的~/.ssh/id_rsa.pub文件拷贝到服务器B 任意用户的~/.ssh/目录下
注:如果服务器B用户路径下不存在.ssh文件夹时,需要手工创建(mkdir .ssh),必须要将.ssh权限设置为(chmod 700 .ssh),这是关键的一项其他权限无法生效。
将id_rsa.pub拷贝到服务器B的~/.ssh/目录下后,在~/.ssh/目录下执行如下命令:
cat id_rsa.pub >> authorized_keys
chmod 644 authorized_keys
会生成authorized_keys文件,并将authorized_keys授权为644权限,authorized_keys文件的权限一定要设置成644,其他权限无效(我就是在这里掉坑)
三、设置完以上代码后,在服务器A中通过SSH连接服务器B,连接命令如下所示:
ssh -p 23 xxxxx@192.168.0.6
其中-p 指定连接端口 xxxxx为ssh链接用户名
如果还是需要密码才能连接成功,请检查以下项:
1、服务器A和服务器B的防火墙是否已经关闭(service iptables status)
2、检查服务器B中的~/.ssh文件夹设置的权限是否为700
3、检查服务器B中的~/.ssh/authorized_keys文件权限是否为644
4、当第一次链接成功后会在~/.ssh/文件夹下生成一个known_hosts文件,其中会记录第一次链接信息,链接一次请将其中的对应IP的内容删除一次。
相关推荐
ssh-keygen -t rsa ``` 根据提示完成生成过程,包括指定密钥存储位置及输入密钥密码。 ##### 2. 配置公钥认证 - 将生成的公钥(`.pub`文件)复制到目标服务器的相应用户目录下的`.ssh`目录中,并添加到`...
### Linux系统的SSH免密码登录机制原理及实现范例 #### 一、SSH免密码登录机制原理 SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录。它可以在不安全的网络上提供一种安全的远程登录方法。对于经常...
确保私钥文件的安全和服务器的正确配置是使用SSH免密码登录的关键所在。通过这种方式,可以方便快捷地通过SSH协议访问远程服务器,进行系统管理、数据同步或其他操作,而无需每次手动输入密码,提高了工作效率同时也...
本文将详细解释如何在Linux系统中设置SSH免密码登录。 首先,我们要理解SSH免密码登录的基本原理。这依赖于SSH密钥对,即一个公钥和一个私钥。公钥存储在远程服务器上,而私钥保留在本地机器上。当本地机器尝试连接...
ssh 免密码登陆方法 在 Linux 服务器中实现免密码登陆是非常有用的,特别是在集群环境中,需要在多个节点之间实现自动化登陆。下面我们将详细介绍如何使用 SSH 实现免密码登陆。 SSH 免密码登陆的原理 SSH...
在虚拟机VMware中配置CentOS系统实现SSH免密码登陆,可以极大地提高工作效率,减少手动输入密码的繁琐步骤。以下将详细介绍如何在两个CentOS系统之间配置SSH免密码登陆。 首先,我们需要了解SSH的基本原理。SSH通过...
Linux 下 SSH 与 SecureCRT 密匙完美使用 在 Linux 系统中,SSH(Secure Shell)是一种常用的远程登录协议,能够提供安全...关键词:Linux、SSH、OpenSSH、RSA、DSA、SecureCRT、密钥认证系统、远程访问、服务器安全。
在本教程中,我们将关注如何在CentOS 7操作系统上搭建一个Hadoop环境,并实现SSH免密码登录。首先,我们需要安装必要的组件,包括JDK、Hadoop、Scala、HBase、MySQL、Hive和Spark。这里我们将重点讲解CentOS7环境下...
在Linux系统中,SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。SSH登录无需密码的功能是通过公钥认证机制实现的,这在管理多台服务器或者自动化运维时非常方便。下面...
通过以上步骤,我们可以轻松地在Linux环境下实现SSH免密码登录。这种方式不仅提高了工作效率,还保持了安全性。在实际工作中,这种技术非常实用,特别是在管理多台服务器的情况下。希望本文能帮助大家更好地理解和...
**Linux中的RSA认证登录SSH详解** 在Linux系统中,SSH(Secure Shell)是一种安全的网络协议,用于在不安全的网络环境中提供加密的远程登录和其他网络服务。SSH使用密钥对进行身份验证,其中RSA是一种非对称加密...
在Linux服务器端,我们需要将生成的RSA公钥(identity.pub)上传到用户的`.ssh`目录,并将其内容添加到`authorized_keys`文件。首先,为用户创建`.ssh`目录并设置正确权限: ```bash mkdir /home/frank/.ssh chmod ...
在IT领域,Linux操作系统是广泛应用于服务器、云计算和开发环境的重要平台。...以上就是Linux的安装步骤和SSH免密码设置方法,对于远程管理和运维工作非常实用。通过这些知识,你可以更高效地管理你的Linux系统。
Linux 双机 SSH 信任配置与双向免密码登陆 Linux 双机 SSH 信任配置是指在两个 Linux 机器之间建立安全的信任关系,以便实现双向免密码登陆。这种配置方式使用公私钥认证机制,通过生成公私钥对,实现客户端到...
在Linux系统中,RSA广泛应用于SSH(Secure Shell)密钥交换、GPG(GNU Privacy Guard)数字签名以及HTTPS等安全协议。C语言是编程的基础,用C实现RSA算法可以帮助我们更好地理解其内部工作原理。 首先,RSA算法基于...
在IT行业中,Linux系统是广泛应用于服务器管理的操作系统,而SSH(Secure Shell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他网络服务。SecureCRT是一款功能强大的终端仿真器,支持多种协议...
SSH 服务配置在 Linux 系统中的应用 SSH(Secure Shell)是一种安全的远程登录协议,用于取代不安全的 telnet、rlogin、rsh 等协议。SSH 可以提供加密的远程登录、文件传输和端口转发等功能,使得数据传输更加安全...
以下是对SSH登陆LINUX服务器常用命令的详细说明: 1. **基本SSH登录命令**: 使用`ssh [hostname] -u user`来登录远程Linux服务器,其中`hostname`是服务器的IP地址或域名,`user`是你要登录的用户名。例如:`ssh ...
在本例中,使用`scp`命令将`id_rsa.pub`文件发送到远程主机`hadoop01`,格式为`scp id_rsa.pub user@remote_ip:target_path`,如`scp ~/.ssh/id_rsa.pub hadoop01@192.168.1.135:.ssh/`。 6. **在远程主机上配置**...
### Linux SSH 的配置详解 #### 3.1 Linux SSH 的安装与配置 ##### 安装 SSH 服务 在 Linux 系统中安装 SSH 服务前,我们首先要确认系统是否已经安装了 SSH。可以通过以下命令检查 SSH 服务是否已安装: ```bash...