本文介绍如何通过 SSH 实现免密登录。
工作环境:
SSH 是一种网络协议,用于计算机之间的加密登录。SSH是英文Secure Shell的简写形式。
通过使用SSH,你可以把所有传输的数据进行加密更加安全可靠。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH 有很多功能,它既可以代替 Telnet,又可以为FTP、Pop、甚至为 PPP 提供一个安全的"通道"。
SSH 协议更多内容看最后附的链接,有兴趣的朋友可以了解一下。
什么是免密登录呢?
通常我们登录 SSH 是通过账号和免密来登录的,输入 ssh username@ip-server 然后输入密码。
如果每次都输入密码会很麻烦,而且要对多台主机进行自动化管理,每次都要输入密码不现实。我们可以配置公钥和密钥进行免密登录。 免密登录做的事情其实就是通过 SSH 的公钥和密钥来校验身份信息。
首先你要知道每台主机有一份公钥和一份私钥。我们要做的事情可以用一张图来表示:
图片的操作依次为
1.生成密匙对
之后可以在 /root/.ssh 中看到生成的密匙对
2.拷贝一份 A 的公钥给 B
此时在 B 的 authorized_keys 中就会有一份 A 的 id_rsa.pub 公钥信息。
注:第二步操作的做的事情其实就是一个拷贝密钥的工作,也可以手动拷贝,但是用上面的命令更方便。
3.最后我们就可以免密登录,也就是不输入密码 A 就可以登录 B
192.168.0.10 为 B 的 ip 地址
如果要退出登录,输入 exit 即可。
192.168.0.10 是 ip 地址,也就是说登录的时候我们还要输入一次 ip。我们可以给每个主机配置一个别名,用 ssh ip-server 的方式登录。
就像人有身份证也有名字一样,我们可以通过 ip 来辨识主机。给他一个别名就是给一个 hostname 。
可以用 hostname 来查看你的主机名,要改主机名改他的配置文件
重启生效
这样主机名已经改掉了,还差一步。我们要让主机名和我们的 ip 关联在一起,修改 /etc/hosts 文件
例如:
两边都配置完成可以用 ssh slave 直接连接 slave 。如果你想自己免密连接自己那就按照上面的步骤给自己配置一份密匙就行了,动手试试吧。
SSH 协议介绍
数字签名是什么
SSH原理与运用(一):远程登录
SSH原理与运用(二):远程操作与端口转发
如何在CentOS 7上修改主机名
建立PublicKey登陆步骤其实非常简单,总结来说就是将客户端生成的的ssh public key添加到服务器的 ~/.ssh/authorized_keys 文件中,即可实现ssh的免密码登录。
在客户端生成公钥密钥 附一篇 ssh-keygen 基本用法
然后一路回车, 使用默认值即可
使用 ls 命令可以看到当前目录下的文件,有了个 id_rsa 和 id_rsa.pub ,前者是密钥,后者是公钥。
查看公钥
复制公钥
先尝试进入 .ssh 看看目录是否存在
若不存在则新建一个
然后修改权限
接着再进入.ssh,然后修改将公钥添加到authorized_keys
按 i ,然后将刚刚复制的密钥粘贴到这里,按 esc ,再按 : ,输入 wq 保存并退出
接着修改权限
做好配置之后,通过ssh可以直接登录了。
我们可以利用ssh的配置文件来简化我们登陆的操作
配置文件在 ~/.ssh/config
我们可以修改这个文件(如果不存在则新建一个)
YourName可以改成任意名字
如果修改了端口则需要加上 Port 参数
还有各种各样的参数可以查看帮助
配置完后可以这样登陆服务器
Enjoy it~
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)