本文是在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

至此问题解决
本文介绍在CentOS环境下如何配置SSH实现局域网内多台机器间的自动登录,并解决了权限设置不当导致的部分机器无法互相登录的问题。
529

被折叠的 条评论
为什么被折叠?



