cd ~/.ssh
rm -f *
1、生成密钥对
/usr/bin/ssh-keygen -t dsa
id_dsa.pub 公钥 =》锁 =》服务端
id_dsa 私钥 =》钥匙 =》客户端
例如:
在节点node1,去ssh连接节点node2,则节点node1必须有节点2的公钥。
1)node1拿着node2的公钥,去连接node2;
2)node2收到请求连接,会用自己的私钥去验证公钥,若验证成功,则允许node1连接。
2、所有节点的公钥id_dsa.pub生成一个文件authorized_keys。
[root@AWS-BigData-Spark04-172-31-14-221 .ssh]# ll
total 16
-rw------- 1 root root 2517 Feb 18 04:10 authorized_keys
-rw------- 1 root root 668 Feb 18 04:07 id_dsa
-rw-r--r-- 1 root root 628 Feb 18 04:07 id_dsa.pub
-rw-r--r-- 1 root root 1776 Feb 18 04:22 known_hosts
以下每行是一个公钥id_dsa.pub的内容:
cat > ~/.ssh/authorized_keys <<!--
ssh-dss AAAAB3NzaC1kc3MAAACBAI+QGLhpd/8GirORS2QYPlYjKLGnNCX5/bIxZBaUkdwdn60Te/Gy52v2jd2uLmaKw/xqidKlp6gxxJzQgVGfQ6eaOdDXCDM9SVTvq+vMMm1Mi5HbRwJXZXrVDOEsVxX0smzt+Fz4mqgJXfr0HokdgTTKpxNq6vfrY5y79T99QN9fAAAAFQCcLl0YycvUuX9Y6uBiDGgfvGjFNwAAAIBEi8pBvhtrB1vt6RcRMWpU9a2TCzYSBlcJZSGRE/XMYEk5IqjF+knDwwiyyOntnEkQXMOhRiclZBMHkkGBniCKeaqJ4QOZNL52ko/US3owBvN5myNSGX7DMjEs8J/jqoBGoEmAWr0x/Tw5B9CgyVeFKSzigqXbPSU5I5+LO3FqiAAAAIEAj2VzSbjT9177A5HnN7+JKq+nd9DArWZIek5phuK45OleH78DtYIqqDiK5IhIe3Ke55SZhdoLa0mUVKP46GFXHXy584ma4vJaDtF2zfjH0imAhxfF7TOjAoaE4zPr55oaiPtEFhVa4qXo4MJoUQ9gpLA+9SAxUzP/Wn87ai9aYr4= root@spark02
ssh-dss AAAAB3NzaC1kc3MAAACBAINvbeQTau4waH0DvpGET5g5oyeOhJ5bhSZVhwPKHC9KA0Q9SuIvryAPgb2DcfiaBgNcGN5X9Xv+h/M3WytraTDHF6EtZCjd+PssX3jlAM83GIbGXD0Qv+NLbIGLdewR413ggG7ss/idjb5gE+d88WDn14oWClfZR830k+77ed+dAAAAFQCKhqjeAnPcX3iQs/8IDZKM/u/ohQAAAIA+IKxK/OsW/vLX9S2P8hFO4pn+rE/OxvEAJTmxxVoejPp0VE9KoVhaaFeNE0Jxz3gNZimtbzZMPe+eSZ36FUY7tEQRLaBV2m5taBz28g7cTVHnyhZ1ddfmojHkiDSpcoB4Z+1u5mJmdhLqE9L7jsmiLkBXERdRFopJYhC98ba14QAAAIBJC16EEBZ4DZUoVE6b+Elg5T+TLD+Sde1+WtW08ZcN0hC9RTvjIp6UxW029cgy4/ct+y00OsymMzJc+YA9sq3M8xVUpc65JJ5eW6GpS3ggdDM5f4pRUBZwhsAQLGJCOISYTs/Ikboz48MjFtvZvGtQYwSmHsARhfAng6k4VblUaQ== root@spark03
ssh-dss AAAAB3NzaC1kc3MAAACBAOroxRmuhJ9Lkp7CoumuFOQVpR**5y92vL2K1VbbXbtGZzm6k4Zwh0FlZJf/qNnHq8AUFfhCXbU+vbBARk0c6GyLxT4mRRJ9N6C4lt21sSaNmc3kE6wHCYzLdQy5VonRT6YgFB/MPogtIO9MLTQ+yhMgHsH/MmA1+6zeDJ5N3iNAAAAFQC+yHZuwMh28iry6qF9bQ7o/DvtBQAAAIEAwyJRzqsWagNokmKpB/qNkCbMDVWxTBUnS4weu+HeJwvgxay7nPxGrZ0yZRmbClm9VGCi5Oevz28lk0QqkkpZ45GXPWj+dEW+kMxVUqanYJ0M+li04flf4J7k/CVdl12uqnRU4Atjau7DOpmr0jtezigi91yLwGNsEMuPefSCfiEAAACADXj43AB8MsRnOsQ8hdPN9ff95Tg0Anvnzb16lH8O0MoMWX2G1m4kwSTcYrZCgOTh7wWKvf7xjZpykqPgbb17HZMdgcmXUgXAoEyM3B5GWt7EZUfM1rBq1vLGfRkEzs1W6oymo73L4RinIt7A9jHKEDL0njLz/aP/tuQ+F3lLLPs= root@spark04
!
3、目录文件权限
chmod 700 ~/.ssh
chmod 744 ~/.ssh/id_dsa.pub
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_dsa
4、测试ssh互信
for i in 1 2 3 4; do ssh spark0$i "date;hostname" ; done
5、hosts地址解析
cat >> /etc/hosts <<!--
10.31.14.222 spark01
10.31.14.223 spark02
10.31.14.220 spark03
10.31.14.221 spark04
!
6、若是root互信,注意ssh允许root登录。
ssh配置文件:/etc/ssh/sshd_config
PermitRootLogin yes
# Only allow root to run commands over ssh, no shell
#PermitRootLogin forced-commands-only
--平滑重启ssh
/etc/init.d/sshd reload
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22661144/viewspace-1990505/
,如需转载,请注明出处,否则将追究法律责任。