我在tcsh
中有以下脚本,如下所示:
df=`ssh $some_server 2>/dev/null df $2 -k`
echo $df
Perl
脚本运行此tcsh
脚本,我有以下两个问题:
perl
脚本或tcsh
脚本开始,如何确定是否具有ssh密钥?据我了解,如果我没有ssh密钥,它将要求输入密码。如果用户没有ssh键,我想向其显示基本警告。
答案 0 :(得分:1)
当[] <nil>
[] <nil>
[] unknown image type main.unknownImage
无法建立与服务器的连接时,它不会告诉您原因,但是您可以在详细模式下运行它,然后分析输出。
例如,使用以下命令:
#!/bin/bash
for i in "/abc/pqr/"*
do
"$i" &
done
wait
然后,如果失败,请检查ssh
以找出问题的原因。
请注意,调试输出可能会在不同的ssh -vvv -i $path_to_key -o BatchMode=yes \
-l $remote_user $remote_host echo ok 2>error.log
版本之间改变,因此依赖于它的任何解决方案都不会变得非常可靠。您应该认为这只是一个提示。