编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

快速入门SSH免密登录-不啰嗦-直接上手-边实践边学

wxchong 2024-10-21 12:59:22 开源技术 9 ℃ 0 评论

之前文章中关于Ansible中提到的SSH免密登录

今天具体给大家讲一讲

常见的LINUX服务器管理中,为了密码不泄露,也为了管理方便,多采用SSH远程免密码登录,像Ansible这种业务就需要用到,那么我们提前来设置一下。

本次实验环境centos7

主机1 192.168.31.155 hostname hq-oracle-01

主机2 192.168.31.175 hostname hq-web-01

主要是分为两个模式,单向SSH免密登录和双向SSH免密登录

单向SSH免密登录

192.168.31.155准备登录192.168.31.175

192.168.31.175?不可以登录?192.168.31.155

第一步,首先在192.168.31.155 hq-oracle-01创建密钥对

ssh-keygen -t rsa

剩下的直接回车

然后就在这个 ~/.ssh目录下面会出现id_rsa (私钥)id_rsa.pub(公钥)文件

然后在192.168.31.175 hq-web-01上去创建授权key文件

可以先重复上文的步骤在 31.175上也使用ssh-keygen -t rsa

这样会自动创建~/.ssh目录

然后cd ~/.ssh

touch authorized_keys

chmod 600 authorized_keys

然后将31.155上的公钥拷贝过来,我使用的是传输工具,大家也可以使用SCP命令

为了区分(因为后续还有更多的公钥要拷贝,所以将31.155上的id_rsa.pub更改为了id_rsa_155.pub)更改不会影响公钥使用。

将id_rsa_155.pub内容拷贝进入授权key文件

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

Tips: >> (linux中 >单箭头是删除原内容写入 >> 双箭头是不删除原内容写入)

至此单向SSH免密码登录配置完成

在192.168.31.155上进行ssh 192.168.31.175

主机名变更,已经成功登录hq-web-01也就是192.168.31.175

然后既然是单向那么192.168.31.175是无法登录192.168.31.155

依然是需要密码

那么Ansible就适用这种模式,比如它是监控主机或者管理主机,那么最好就是单向免密码的,也就是31.155的角色就是相当于Ansible主机,31.175就相当于被管理的机器。

------------------------------------------------华丽的分割线-------------------------------------------------------

双向SSH免密登录

192.168.31.155准备登录192.168.31.175

192.168.31.175准备登录192.168.31.155

为了保证实验条件一致,我们删除原先的文件(~/.ssh下面所有文件)

重新在31.155和31.175生成密钥对文件

31.175重新执行 ssh-keygen -t rsa

cd ~/.ssh

touch authorized_keys

chmod 600

将 id_rsa.pub 改为 id_rsa_175.pub 拷贝至 31.155

31.155重新执行 ssh-keygen -t rsa

cd ~/.ssh

touch authorized_keys

chmod 600

将 id_rsa.pub 改为 id_rsa_155.pub 拷贝至 31.175

然后各自将对方的公钥添加至本机授权key文件中

cat ~/.ssh/id_rsa_155.pub >> authorized_keys (31.175环境)

cat ~/.ssh/id_rsa_175.pub >> authorized_keys (31.155环境)

效果呈现

双向免密登录成功。

当然生产环境中,我们一般不用root账户进行,可以创建其他受限账户,进行免密登录。

另外Ansible可以执行批量的免密登录设置,无需此类手动方式。

前提是服务器密码一致,不然得在配置文件中添加不同的账号密码。

最后附上SSH免密登录原理图

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表