这个文章主要写的是通过 ssh 方式远程无密码访问,使用RSA的公钥。两个机器 的操作系统 都为centos6.5_64
机器 | 机器hadoop0 | ----去访问----> | 机器hadoop1 |
用户名 | test0 | test1 (说明两个用户都不是root组的用户) | |
ip | 192.168.100.114 | 192.168.100.149 | |
主机名 | hadoop0 | hadoop1 (说明: 修改主机名:vim /etc/sysconfig/network) | |
hosts ( /etc/hosts ) | 192.168.100.114 hadoop0 192.168.100.149 hadoop1 | 192.168.100.114 hadoop0 192.168.100.149 hadoop1 | |
一. 机器hadoop0 生成 rsa的key
用户:test0 1. 在目录 /home/test0下 执行命令 ssh-keygen -t rsa , 执行命令过程中会有三次输入,都直接铵回车Enter键便可, 然后会在 .ssh 隐藏目录下生 id_rsa 和 id_rsa.pub 两个文件,即私钥和公钥文件
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcNnVtlFa5EjW2hXbZZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TNzYzM0cDM0EjMwITM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2. 复制公钥文件 id_rsa.pub内容到一个新文件 authorized_keys文件中 cp id_rsa.pub authorized_keys
二. 机器hadoop1
1. 在root用户下,修改 vim /etc/ssh/sshd_config 文件,找到
Port 22 (去掉前面的#) RSAAuthentication yes (去掉前面的#) 允许rsa 验证 PubkeyAuthentication yes (去掉前面的#) 允许公钥验证 AuthorizedKeysFile .ssh/authorized_keys (去掉前面的#) 验证key文件位置
2.重启ssh,在root用户下 执行 service sshd restart 或者 /etc/init.d/sshd restart 3. 在用户test1下,进入文件夹/home/test1下面,创建隐藏文件夹 .ssh
三. 机器hadoop0
用户: test0 1.把文件 /home/test0/.ssh/authorized_keys 复制到 机器hadoop1的/home/test1/.ssh/ 目录下面 执行 cd ~ , 进入/home/hxd目录下 执行 scp .ssh/authorized_keys [email protected]:/home/test1/.ssh/ 执行过程中会有进度提示
说明: 要能root用户名方式操作机器hadoop1 复制前会提示输入密码,请输入
有时在同一台机器会有这种需求,把一个文件bb.txt 中的内容追加到aa.txt文件中, 则执行 cat bb.txt >> aa.txt 有人说到要把 机器hadoop1的/home/test1/.ssh/authorized_keys 文件,要修改成用户test1的对应权限 600,可以先查看下,其实它复制过去时已经拥有了这个权限 2. 成功复制文件到机器hadoop1后 尝连接到 机器hadoop1 测试 ssh -v [email protected] 执行测试命令过程中会提示以test1登录机器hadoop1的密码,则请输入。
3. 正式连接 ssh [email protected] 提示:
不用再输入密码成功完成