环境要求

  • Linux
  • SSH

步骤

linux系统要想跨主机操作一般都需要输入对方主机用户的密码,如果主机有上千台的话那岂不是要输入上千次密码?比如要想从centos1中拷贝文件到centos2中,这个跨主机的操作就需要密码,如下图所示:
在这里插入图片描述
要怎么使两台主机之间不需要输入密码就可以相互操作?

使用SSH生成公钥和私钥

在主机①上执行如下命令生成公钥和私钥

ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa

前提是需要安装有ssh,没有的话使用yum install ssh命令先安装
在这里插入图片描述

生成authorized_keys文件:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

在这里插入图片描述

生成authorized_keys文件完成后主机①对自己的所有操作都是免密了,同理我们只要将authorized_keys文件拷贝至主机②中,那么主机①对主机②的操作也可以达到免密效果

拷贝authorized_keys到主机②

方法一:

先在主机②中执行命令(该命令的目的是为了生成.ssh目录)

ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa

在主机①中执行命令将authorized_keys拷贝至主机②:

scp ~/.ssh/authorized_keys root@centos2:~/.ssh

方法二:

ssh-copy-id centos2

完成这一步后主机①对主机②就完成了免密操作:

在这里插入图片描述

Logo

更多推荐