1.生成SSH Key
一般是用主服务器访问其他多台服务器(首先要保证主服务器telnet到其他服务器22端口要通,若不通需要开通防火墙),我们在主服务器上生成SSH Key。
执行命令:ssh-keygen -t rsa
一路回车,就生成了公钥和私钥
查看生成的文件:
cd ~
ll -a
cd .ssh/
ll -a
在~/.ssh目录下,生成了两个文件:id_rsa.pub(公钥) 和 id_rsa(私钥)。
私钥文件放在本地机器,并且要保密。公钥要复制一份放到远程服务器上面。
2.使用SSH Key实现服务器之间互通
提示:如果命令中含有~报错: No such file or directory的话,建议手动输入~符号(复制的~和输入的~可能不太一样)
#查看其他服务器是否根目录~下是否存在.ssh目录:
cd ~
ll -a
#若不存在.ssh目录,则需要创建(每台都要创建)
mkdir ~/.ssh
#将主机的id_rsa.pub(公钥)复制到每台副机的~/.ssh目录下
ssh-copy-id -i ~/.ssh/id_rsa.pub <你的服务器用户名>@<你的服务器ip>
#若提示Are you sure you want to continue connecting (yes/no)? 输入yes回车
#此时需要输入一次密码,全部复制好之后,就可以主机访问其他机器无需密码啦
随便scp一个东西就可以不用密码直接执行啦。
如果你需要其他机器访问主机,一样的操作就行了。