ssh多机免密码登录设置?
场景与需求
1.有几十台机器;
2.想要相互免密码登陆;
3.以后会增加机器;
问题:
考虑到手工拷贝公钥并追加authorized_keys文件比较麻烦,同时增加新机器的时候也有很多体力活。有没有比较方便的方法,一次性设置,增加机器不用修改的方法实现多机相互免密码登陆
1楼(未知网友)
哈哈!我讲课会提到这个场景.
配置方法相信你已经会了。你要理解实际上这是一套锁和钥匙。如果您所有直接用不同的钥匙和锁,自然需要很多套。
但是如果所有主机钥匙和锁都是一套呢。意味着所有的钥匙都可以打开所有的锁。
所以如下方法:
在任意一台主机创建ssh-keygen,然后将pub文件的内容追加到authroized_keys内。或者直接拷贝为authroized_keys.
之后将本机的.ssh目录拷贝到所有目标主机的家目录下面即可。
最后说一句,安全上这种方式是不推荐的。
2楼(未知网友)
在有authorized_keys 的机器上 cd .ssh/
把新加的服务器IP全写到一个文件里暂定为ip.txt
cat ip.txt |xargs -i scp ./authorized_keys /etc/ssh/sshd_config root@{}:/root/.ssh/
然后会让你拼命打yes拼命输密码,因为这个时候你是没有key的所以你手工输密码。好了,全已经把所有的服务器更新完了你已经更新完所有KEY了。
再cat ip.txt|xargs -i ssh {} /etc/init.d/sshd restart
再狂打密码好了,你再起 重启完所有的sshd了。
添加用户的ssh key,那你就不需要打密码了,直接重复1就可以了。
蠢了点,但是绝对有效。一次实施终生好用。
另外,你需要在结束的时候把know文件删了。保护安全。
最后当你熟练使用脚本后可以有批量输入yes和密码的脚本的这个你自己研究吧,我不说了,你有兴趣的时候自然会看了。
高手轻喷我。我比较笨。
3楼(未知网友)
利用ssh-copy-id能将id_rsa.pub复制到 目标机器:~/.ssh/authorized_keys 且自动累加
命令:ssh-copy-id -i $HOME/.ssh/id_rsa.pub test.com:
4楼(站大爷用户)
编写expect 脚本,但是兄弟,我不建议你这么做,不安全。
5楼(未知网友)
用 puppet 吧,不过确实存在安全隐患,不建议
6楼(未知网友)
安装系统时就把公钥放到服务器上呗…
7楼(未知网友)
在本机生成一个key,将.ssh 目录下的所有文件同步到各个机器上。
8楼(站大爷用户)
首先用ssh-keygen生成key
然后用ssh-copy-id复制到远程机器
9楼(站大爷用户)
kerberos, aka gssapi.