环境说明:
一台linux虚拟机和一台linux PC
1, 配置机器 虚拟机hostname
#hostname rli_vb
查看:
#hostname
rli_vb
命名成功。
2, 添加hosts:
添加
10.12.2.90 rli_vb
10.12.2.182 rli_linux
到 /etc/hosts3, ssh免密码验证配置
首先在linux_vb
进去.ssh文件: [root@rli_vb ]$ cd ~/.ssh/
生成秘钥 ssh-keygen : ssh-keygen -t rsa , 连续按回车键
最终生成(id_rsa,id_rsa.pub两个文件)
生成authorized_keys文件:[root@rli_vb .ssh]$ cat id_rsa.pub >> authorized_keys
在另一台机器rli_linux 也生成公钥和秘钥, 步骤与上面相同。
将rli_linux 的id_rsa.pub文件copy到rli_vb机器:[root@rli_linux .ssh]$ scp id_rsa.pub root@10.12.2.182:~/.ssh/id_rsa.pub_sl
此切换到机器rli_vb 合并authorized_keys; [root@rli_vb .ssh]$ cat id_rsa.pub_sl >> authorized_keys
将authorized_keyscopy到rli_linux机器(/home/rli/.ssh):[root@rli_vb .ssh]$ scp authorized_keys root@10.12.2.182:~/.ssh/
现在讲两台机器 .ssh/ 文件夹权限改为700,authorized_keys文件权限改为600(or 644)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
[root@rli_linux .ssh]$ ssh rli_vb
Last login: Mon Jan 5 15:18:58 2016 from rli_linux
[root@rli_vb ~]$ exit
logout
Connection to rli_vb closed.
在rli_vb 上:
[root@rli_vb .ssh]$ ssh rli_linux
root@10.12.2.182's password:
为什么会出问题那,经过我一番分析(查看ssh -VVV rli_linux 输入), 终于发现原来在rli_linux上的跟目录是/home/rli/, 而rli_vb上的根目录是/root/, 所以ssh生成的密钥都在/home/rli下面, 而上面会访问rli_linux的/root 目录, 显然会出现问题。
既然如此,那就指定用户了,呵呵:
[root@rli_vb .ssh]$ ssh -l rli rli_linux
last login : ...
[rli@rli_linux ~] $
...
这里"-l" 是指定登录的用户名, 都工作了,所以遇见类似问题,一定先查看根目录是什么(cd ~)