我正在编写一个脚本,该脚本将从 mac osx ssh 到 SmartOS(基于Solaris)服务器并执行一些命令,但我陷入了登录部分。我目前设置为能够使用公钥身份验证登录,该身份验证可以手动正常工作,但当我尝试运行脚本时,系统会提示我输入密码。
手动登录:
joyentmac2252:~ jessebutryn$ ssh [email protected]
[root@sup-jpc-west1 ~]# bash /root/sup-toolbox/toolbox
Enter your JPC Headnode username: jbutryn
Toolbox - Version 4.4.6 - It's Wednesday, this must be Devon (20161116)
---- Recent Changes ----
Replaced sdc-ldap/ufds with OpenLDAP client
vm/vmi now shows Swap
Moved creds to environment
Added random element to disabler string
fraud() speed up
Added over() for PD overrides
Added RAM to vms_by_pkg / fraud
Added dates to cust()
Big speed up for cust_vms(). You are welcome.
------------------------
[root@sup-jpc-west1 ~]#
剧本:
#!/bin/bash
#
SUPNODE="X.X.X.X"
ssh root@$SUPNODE
bash /root/sup-toolbox/toolbox <<-'EOF'
jbutryn
EOF
脚本结果:
joyentmac2252:~ jessebutryn$ ~/Documents/scripts/incomplete/fraudcheck.sh
Password:
有人知道是什么原因导致此密码提示吗?
答案1
由于某种原因,您的密钥对似乎不用于身份验证,您应该尝试在脚本内部和外部以详细模式ssh -vv
(在 1 和 3 之间设置详细级别)运行 ssh 命令。v
输出应该告诉您发生了什么(如果您需要进一步帮助,请将其发布在此处)。