所有linux主机root用户使用完全合格域名免密码ssh登录到其他linux 主机。
时间: 2023-11-08 19:04:01 浏览: 42
这可以通过SSH密钥认证来实现。您需要在源主机上生成SSH密钥,并将公钥复制到目标主机上的“authorized_keys”文件中。然后,您可以使用ssh命令连接到目标主机,而无需输入密码。下面是实现该目标的步骤:
1. 在源主机上生成SSH密钥对:
```
ssh-keygen
```
2. 将公钥复制到目标主机上的“authorized_keys”文件中:
```
ssh-copy-id user@remote_host
```
其中,“user”是目标主机上的用户名,“remote_host”是目标主机的IP地址或域名。
3. 现在您可以使用ssh命令连接到目标主机:
```
ssh user@remote_host
```
您将无需输入密码即可登录。
请注意,为了确保安全,您应该只限制特定的用户可以使用该SSH密钥进行ssh登录,而不是所有的root用户。
相关问题
所有 linux 的 root 用户使用完全合格域名免密码 ssh 登录到其 他 linux 主机
在Linux系统中,root用户是具有最高权限的用户,可以对系统进行全面的操作和管理。通过配置SSH,可以实现root用户以完全合格域名的方式免密码登录到其他Linux主机。
首先,我们需要在目标Linux主机上进行配置。通过编辑SSH配置文件/etc/ssh/sshd_config,找到PermitRootLogin选项并将其设置为yes,表示允许root用户登录。如果该选项被注释掉,需要去掉注释符号#。
接下来,我们需要在root用户的家目录下创建.ssh文件夹,并设置正确的权限。可以使用以下命令完成:
```
$ mkdir /root/.ssh
$ chmod 700 /root/.ssh
```
在.ssh文件夹中,我们需要创建一个名为authorized_keys的文件,保存其他主机root用户的公钥。通过编辑该文件,可以添加其他主机root用户的公钥。可以通过如下命令实现:
```
$ vi /root/.ssh/authorized_keys
```
将其他主机root用户的公钥复制到authorized_keys文件中,并保存退出。确保authorized_keys文件的权限设置为600:
```
$ chmod 600 /root/.ssh/authorized_keys
```
在完成以上配置后,我们需要重启SSH服务以使配置生效:
```
$ systemctl restart sshd
```
现在,我们可以在其他Linux主机上使用root用户以完全合格域名的方式免密码登录到目标主机。通过以下命令实现:
```
$ ssh root@目标主机的完全合格域名
```
输入此命令后,将能够无密码地成功登录到目标主机。
需要注意的是,SSH的安全性是非常重要的,因此我们应该定期更新root用户的密码和SSH配置文件,并限制root用户的远程登录,以增加系统安全性。
主机之间 root 用户使用完全合格域名免密 码 ssh 登录彼此
要实现主机之间 root 用户使用完全合格域名免密码 SSH 登录彼此,需要进行以下步骤:
1. 生成公私钥对
在每台主机上生成公私钥对。在 Linux 上可以使用 ssh-keygen 命令生成。执行命令时,需要指定生成的密钥类型和保存路径,例如:
```
ssh-keygen -t rsa -f /root/.ssh/id_rsa
```
这将生成一个 RSA 类型的密钥对,并将私钥保存在 /root/.ssh/id_rsa 文件中,将公钥保存在 /root/.ssh/id_rsa.pub 文件中。
2. 将公钥添加到另一台主机的 authorized_keys 文件中
将每台主机的公钥添加到另一台主机的 authorized_keys 文件中。在 Linux 上,authorized_keys 文件通常位于用户的 ~/.ssh 目录下。可以使用 ssh-copy-id 命令将公钥添加到另一台主机的 authorized_keys 文件中。例如:
```
ssh-copy-id -i /root/.ssh/id_rsa.pub root@remote_host
```
这将将本地主机的公钥添加到远程主机的 authorized_keys 文件中。
3. 配置 SSH 客户端
在每台主机上,编辑 SSH 客户端的配置文件 /etc/ssh/ssh_config,并添加以下行:
```
Host remote_host
HostName remote_host.example.com
User root
IdentityFile /root/.ssh/id_rsa
```
这将为远程主机配置一个别名 remote_host,并指定连接时使用的用户名和私钥文件路径。
现在,您可以使用以下命令在两台主机之间进行 SSH 连接,无需输入密码:
```
ssh remote_host
```