我需要ssh(以root身份)到远程服务器并执行一些根级别操作。我将从没有root权限的本地服务器sshing。有了这个选项,是否可以使用(rsa)密钥对远程系统执行无密码ssh?
本地和远程服务器运行linux。
BTW,我在本地服务器上生成了密钥(ssh-keygen -t rsa)。将公钥复制到远程服务器的.ssh / authorized_keys文件。 然而,它仍然会提示输入密码。如果本地和远程用户名(非root用户)匹配,相同的设置工作正常。
答案 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