linux ssh keys
1. 原理:
SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务器上,而私钥必须稳妥的保管好。
所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录 shell,不再要求密码。这样子,我们即可保证了整个登录过程的安全,也不会受到中间人攻击
2. 生成密钥对
# centos $ ssh-keygen -t rsa -P '这里写密码' -f ~/.ssh/id_rsa # windows下 首先需要安装cmder $ ssh-keygen -t rsa -P '这里写密码' -f C:\Users\czn\.ssh\id_rsa
3. 将公钥复制到远程服务器中
# 在远程服务器上创建文件 $ mkdir ~/.ssh && touch ~/.ssh/authorized_keys $ vim ~/.ssh/authorized_keys 将你的公钥粘贴进去即可
4. 测试
$ ssh 192.168.31.86 # 键入生成密钥对时的密码即可完成登陆。
5. 根据别名访问远程服务器
修改/etc/hosts文件
$ vim /etc/hosts # 同windos下的hosts文件 写入 192.168.31.110 data1 192.168.31.111 data2 192.168.31.112 data3
# 访问 $ ssh data1