linux下免密登录(不用key认证)

其实也不是完全免密,只不过好多时候,需要远程过去一条命令执行完了就完了,不想搞那些麻烦的事,输入密码啊,保存主机key啊之类。

linux下要达到直接远程执行命令不用交互的方法有2个

  1. 用key认证,需要配置互信。这个网上有很多,可以直接baidu搜。
  2. 用sshpass,他可以在命令行把密码带进去,这个百度其实也有很多,不过好多时候如果新登录一个主机或者主机的指纹key变了,还是会登录失败的。
sshpass -p passwdxxx ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null xxx.xxx.xxx.xxx

用这条命令登录过去,无论啥情况都会直接登录过去,因为他用了参数不检查hostkey,而且把knownhostfile指到/dev/null,所以可以直接登录。

这种方法前提是你机器安装了sshpass,没安装的话老老实实输入密码吧。

 

其实ssh整个是比较安全的,不允许在命令行出现明文密码,但人们为了在shell或者程序中调用命令,反而不得不开发一个sshpass来传入密码,这真的是很无语。

你可能感兴趣的:(系统维护)