无密码ssh到root远程系统

时间:2013-03-12 00:59:37

标签: linux bash ssh

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

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

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

3 个答案:

答案 0 :(得分:3)

1检查/ etc / ssh / sshd_config文件是否有" PermitRootLogin是"。

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

答案 1 :(得分:0)

是。 SSH不会在不同系统上的帐户名之间建立连接,因此如果您有一个有效的密钥对,则可以作为非root用户ssh。

答案 2 :(得分:0)

在〜/ .ssh / config:

Host rootRemoteSystem
HostName RemoteSystem
User root

然后:

ssh-copy-id rootRemoteSystem

然后你可以这样做:

ssh rootRemoteSystem