一.ssh免密码登录需求

        在我们处理集群或分布式系统时,经常会涉及到多个linux系统服务器。而在多个服务器间通信或资源共享时,如scp命令文件拷贝,需要录入密码校验,使操作过于繁琐,当密码精度过高时,整个操作更不方便。

        那如何处理多个系统间免密码登录?

        1. 各服务器系统不设置密码,但此安全性不能保证,不推荐。

        2.通过ssh实现免密码登录

二.ssh免密码登录原理

        在客户端服务器通过ssh-gen命令生成一个公钥/私钥,将生成的公钥拷贝到待免密码登录的服务器,最后通过密钥加密解密配对的形式实现登录,ssh免密码登录的流程如下:



ssh免密码原理

三.ssh免密码登录前期准备

ssh安装检查命令:rpm -qa|grep openssh*

如果无内容输出,表示未安装。

安装命令:yum -y install openssh

四.ssh免密码登录配置

定位到根目录,命令如下:

创建(.ssh)目录-命令:mkdir .ssh

生成ssh公私密钥-命令:ssh-keygen -t rsa

直接持续回车

拷贝公钥到认证文件-命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

具体命令和文件如下:


ssh系统配置文件修改-命令:

vi /etc/ssh/sshd_config

PermitRootLogin yes

StrictModes no

RSAAuthentication yes

PubkeyAuthentication yes

PasswordAuthentication no


五.ssh免密码登录实践

1.本地免密码登录

测试命令:ssh localhost

如果不需要输入密码,表示本地配置成功。

退出ssh命令:exit


单系统测试

2.多系统免密码登录

服务系统A:192.168.65.128

服务系统B:192.168.65.129

服务系统A连接服务系统B

2.1 服务系统B相关配置类似1(本地免密码登录)。

2.2 拷贝服务系统A中公钥id_rsa.pub到服务系统B

scp id_rsa.pub root@192.168.65.129:/opt/software/

2.3 在服务系统B中将服务系统A拷贝的公钥文件写入到认证文件

cat id_rsa.pub >> ~/.ssh/authorized_keys


认证文件写入

2.4 服务系统A测试登录服务系统B


服务系统A登录服务系统B

六. Win7 通过SecureCRT登录服务系统A

正常Win7可以通过账号密码登录服务系统A。但当linux服务系统设置ssh免密码登录后,正常的Win7账号密码登录就会出错。


解决办法:

1. 服务系统A将生成的私钥id_rsa拷贝到Win7

2. secureCRT登录时,根据publicKey方式登录



PublicKey登录方式

3.导入服务系统A中的私钥id_rsa


确认后,看看是否能正常登录。

希望对您有帮助!!!


GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐