dpe*_*973 6 ssh sudo shell-script
我有一个脚本,它通过登录到远程主机ssh -t并使用sudo service foo restart.
要求是避免在远程主机上提示输入密码。远程主机通过 SSH 证书进行身份验证。在sudoers远程主机上的文件允许用户与执行服务命令NOPASSWD。
但是,在我的测试过程中,系统提示我输入密码,这是不可接受的。如果我在没有-t标志的情况下手动运行它,它会起作用。然而,-t国旗把一切都抛在了脑后。
有没有解决的办法?
小智 0
生成 SSH 密钥并将其传输到远程主机。
使用以下命令生成 RSA SSH 密钥
[root@localhost ~] ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): Hit ENTER
Enter passphrase (empty for no passphrase): Hit ENTER
Enter same passphrase again: Hit ENTER
Run Code Online (Sandbox Code Playgroud)/root/.ssh/id_rsa.pub使用以下命令查找该密钥并将其传输到远程:
ssh-copy-id -i /root/.ssh/id_rsa.pub root@remote:/root
Run Code Online (Sandbox Code Playgroud)现在尝试登录;它不会询问您的远程密码。