一、SSH远程连接服务器(最佳实践)

理念:客户端生成密钥对,然后把公钥发送给服务器端,测试时,通过客户端连接服务器端-->读懂其原理!

补充:一下测试恰恰相反,把服务器当作客户端即可!

理解:本文采用了两种方式来进行免密码登录!

1:远程密码登录

2:远程密钥登录

(1)在服务器端(server)通过ssh-keygen生成密钥对--> ip 是*.*.2.10

结论:会在当前用户家目录下隐藏目录ssh下生成公钥和私钥的文件

下面分别解释下每个文件是干什么用的:

authorized_keys::存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥

扫描二维码关注公众号,回复: 4941825 查看本文章

id_rsa: 生成的私钥文件

id_rsa.pub: 生成的公钥文件

known_hosts: 已知的主机公钥清单

(2)添加key认证方式:ssh-copy-id命令(注意:-i的参数!)

原因:将服务器的公钥内容追加到自己(服务器)的"~/.ssh/authorized_keys"中,方便免密登录时对随即字符串加密!

注意:执行此命令之前authorized_keys文件可能并不存在,没关系,直接执行该命令就行,会自动生成的,当然也可以自己创建一个;需注意authorized_keys文件的权限得是600;

ssh-copy-id :将本地主机的公钥复制到远程主机(主要看ip,也有可能是自己!)的 authorized_keys文件上,给远程机的用户主目录、~/.ssh 和 ~、.ssh、authorized_keys设置合适的权限

测试:执行完该步骤之后在master上就可以通过ssh  master命令"免密登录自己了"。(在这一步之前即使是通过ssh登录自己,也是每一次都需要手动输入密码的)

等价于:cat id_rsa.pub >> /root/.ssh/authorized_keys中

测试:"~/.ssh/authorized_keys"是否有内容?-->此处测试的是服务器主机中的文件的内容!

注意:此处的ip的免密登录的主机,也即特定主机的特定用户想登录此ip的主机时不需要密码!

(3)如果想让其它客户端免密登录自己怎么办?

(4)测试客户端(client)对应目录的变化,并进行测试连接

注意:防火强的状态,在测试时双方最好关闭防火墙!

说明:这是服务器的ip和公钥内容记录下来,方便下次访问进行识别!

https://www.cnblogs.com/hanwen1014/p/9048717.html

批量推送

https://www.cnblogs.com/Percy_Lee/p/5698603.html

猜你喜欢

转载自blog.csdn.net/wzj_110/article/details/84569842