ssh免密码登陆,sudo免输入密码方法

时间:2021-03-08 02:37:56

几台linux服务器之间经常相互ssh和scp,每次都手动输入密码比较麻烦。经过网上查找,打算使用ssh公钥密钥方式。

首先在本机上生成ssh公钥密钥,最好的命令是

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa -q

使用这个命令不需要按回车,如果不加f选项,要多按一次回车来选择存放位置;如果不加P选项,要多按两次回车选passphrase,所以用前面的命令全程不用交互。加了q选项以后就静默无输出了。

之后可以把公钥拷贝到远程机器上

ssh-copy-id user@ip

之后访问就不需要密码了。

另外,有一篇博客提到用sshpass,没有仔细研究过http://www.linuxidc.com/Linux/2012-11/73365.htm

我们在使用sudo命令的时候,为了避免交互,可以使用

echo 'password' | sudo -S ls

这样的方式,通过管道传入密码,就不用手动输入了。