0

我需要 ssh(以 root 身份)到远程服务器并执行一些 root 级别的操作。我将从没有 root 权限的本地服务器 ssh。鉴于此选项,是否可以使用 (rsa) 密钥对远程系统执行无密码 ssh?

本地和远程服务器运行 linux。

顺便说一句,我在本地服务器上生成了密钥(ssh-keygen -t rsa)。将公钥复制到远程服务器的 .ssh/authorized_keys 文件。但是它仍然不断提示输入密码。如果本地和远程用户名(非 root)匹配,则相同的设置可以正常工作。

4

3 回答 3

3

1 检查您的 /etc/ssh/sshd_config 文件是否有“PermitRootLogin yes”。

2 将以下 Shell 代码存储到 nopasswd.sh 中:

#!/bin/sh

scp ~/.ssh/id_dsa.pub  $1@$2:~/
ssh $1@$2 "cat ~/id_dsa.pub  >> ~/.ssh/authorized_keys; chmod 644 ~/.ssh/authorized_keys; exit"

3 按以下步骤使用它:

$ssh-keygen -t dsa
$ ./nopasswd.sh root REMOTE_HOST
于 2013-03-12T01:15:52.400 回答
0

是的。SSH 不会在不同系统上的帐户名称之间建立连接,因此如果您有有效的密钥对,您可以以非 root 身份 ssh 到 root。

于 2013-03-12T01:05:40.640 回答
0

在 ~/.ssh/config 中:

Host rootRemoteSystem
HostName RemoteSystem
User root

然后:

ssh-copy-id rootRemoteSystem

然后你可以这样做:

ssh rootRemoteSystem
于 2013-03-12T01:21:51.183 回答