其实也不是完全免密,只不过好多时候,需要远程过去一条命令执行完了就完了,不想搞那些麻烦的事,输入密码啊,保存主机key啊之类。
linux下要达到直接远程执行命令不用交互的方法有2个
sshpass -p passwdxxx ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null xxx.xxx.xxx.xxx
用这条命令登录过去,无论啥情况都会直接登录过去,因为他用了参数不检查hostkey,而且把knownhostfile指到/dev/null,所以可以直接登录。
这种方法前提是你机器安装了sshpass,没安装的话老老实实输入密码吧。
其实ssh整个是比较安全的,不允许在命令行出现明文密码,但人们为了在shell或者程序中调用命令,反而不得不开发一个sshpass来传入密码,这真的是很无语。