本文是在 centos(4) iptables 构建局域网环境 的基础上, 对于局域网内的多台机器进行ssh 自动登录的配置。 网络上已经有很多的关于ssh的配置的文件, 本文也是采用相同的方法,主要是对遇到的一些问题,进行的分析与整理, 希望对自己和他人 有用。 首先在j
本文是在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
至此问题解决