centos(6) ssh 自动登录配置

来源:互联网 发布:js控制class设置选中 编辑:程序博客网 时间:2024/06/05 11:38

本文是在centos(4) iptables 构建局域网环境的基础上, 对于局域网内的多台机器进行ssh 自动登录的配置。

 

网络上已经有很多的关于ssh的配置的文件, 本文也是采用相同的方法,主要是对遇到的一些问题,进行的分析与整理, 希望对自己和他人 有用。

 

 

 

 首先在johnny-test-3的机器上用, ssh-keygen来生成 公钥与私钥。

 

 

 

然后采用ssh-copy-id 将文件拷贝到其他的机器上:

 

再做一步设定是将/etc/ssh/ssh_config文件, 拷贝到~/.ssh/目录下, 命名为config, 如果你采用默认的id_dsa, 那就不用这一步了。

 

然后就可以直接ssh到johnny-test-2机器上

 

 

我们来比较一下johnny-test-2机器上的authorized_keys与test3_dsa.pub的内容,会发现其实是一样的

 

所以 ssh-copy-id其实是做了两件事, 首先是scp本地的*.pub文件到目标机器上, 然后再用cat *.pub >>authorized_key

 

现在局域网内有3台机器, 为了允许任意两台都可以自动的登录, 只要 在一台上设定好了到其他所有机器的authorized_key文件, 再把这个文件直接拷贝到其他的所有的机器就可以了。

 

笔者又遇到了很奇怪的问题, johnny-test-1可以连到其他的机器, 其他的机器之间也是可以相互自动登录的, 但是他们没有办法 自动登录到johnny-test-1.

 

这时要看ssh的log了, 用root 的权限来查看 /var/log/secure, 会发现 如下的错误

 

再比较一下johnny-test-1 ~/.ssh与其他机器的~/.ssh的目录的权限如下:会发现 johnny-test-1的.ssh的目录权限太多了,

johnny-test-1

其他的机器

 

 

采用如下的命令:

 

再从其他的机器 就可以正常的自动的ssh到johnny-test-1

 

 

至此问题解决