共计 834 个字符,预计需要花费 3 分钟才能阅读完成。
ssh 无密码登录要使用公钥与私钥。Linux 下可以用用 ssh-keygen 生成公钥 / 私钥对。
有机器 A,B(192.168.0.32)。现想 A 通过 ssh 免密码登录到 B。
1. 在 A 机下生成公钥 / 私钥对。
➜ ~ ssh-keygen -t rsa -P ”
- P 表示密码,-P ” 就表示空密码,也可以不用 - P 参数,这样就要三车回车,用 - P 就一次回车。
该命令将在 /root/.ssh 目录下面产生一对密钥 id_rsa 和 id_rsa.pub。
一般采用的 ssh 的 rsa 密钥:
id_rsa 私钥
id_rsa.pub 公钥
下述命令产生不同类型的密钥
ssh-keygen -t dsa
ssh-keygen -t rsa
ssh-keygen -t rsa1
2. 把 A 机目录~/.ssh/ 下的所有文件复制到 B 机~/.ssh/ 目录下,先要在 B 机上创建~/.ssh 这个目录,用 scp 复制。
[xqzhang@PEKdev032 ~]$ mkdir .ssh
➜ ~ scp .ssh/* 192.168.0.32:/home/xqzhang/.ssh/
复制 id_rsa.pub 到 authorized_keys 文件里,
[xqzhang@PEKdev032 ~]$ chmod 700 .ssh
[xqzhang@PEKdev032 .ssh]$ chmod 600 *
由于还没有免密码登录的,所以要输入一次 B 机的 root 密码。
authorized_keys 的权限要是 600!!!
.ssh 目录的权限要是 700!!!
3.A 机登录 B 机。
ssh -l xqzhang 192.168.0.32
第一次登录是时要你输入 yes。
现在 A 机可以无密码登录 B 机了。
小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥 / 私钥对一般在私钥宿主机产生。上面是用 rsa 算法的公钥 / 私钥对,当然也可以用 dsa(对应的文件是 id_dsa,id_dsa.pub)
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-09/135140.htm
