1.==============环境 server:192.168.1.126 client:192.168.10.160=============
2.现在要让client实现ssh远程登录server上时不需要密码即可登录
3.======================原理==================================================
4.我们使用ssh-keygen在Client上生成private和public密钥,将生成的public密钥拷贝到远程机器Server上后,就可以使用ssh命令无需密码登录到另外一台机器Server上。
5.在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法
[默认是DSR算法],该工具做linux系统的远程管理是非常安全的。
6.============================================================================
7.PS: ssh-keygen用法:ssh-keygen -f 密钥文件名 -t 使用的算法
8.=============================================================================
9.在Client端上执行
10.ssh-keygen -f id_rsa -t rsa //这里我当时故意随便进了一个私钥名称,测试没成功
11.这时程序会让你输入密码,直接回车表示不设置密码,并且会在当前目录中生成private
和public密钥,分别是id_rsa 、id_rsa.pub,然后把公钥文件上传至server端的
/root/.ssh目录下面,并把文件改名为authorized.keys,接着登录server端,修改.ssh目录
和目录中文件的权限
12.cd /root/.ssh
chmod 700 .
chmod 600 *
离开server端,登录client端
13.先使用client端的私钥进行认证
ssh root@192.168.1.126 -i id_rsa
14.如果没有询问密码表示测试成功,再将私钥放到client的/root/.ssh目录下面,然后直接
15.ssh root@192.168.1.126
16.如果没询问密码并能登录,表示成功了~
17.===============================================================================
如果没有成功,输出测试调试看看是哪里出了问题
18.ssh -v root@192.168.1.126 看看这里的信息及/var/log/secure中的日志记录,找出原因
19.==================================Over=========================================