如何确定用户在Perl脚本中是否具有ssh密钥

时间:2018-08-29 19:54:38

标签: perl ssh ssh-keys tcsh

我在tcsh中有以下脚本,如下所示:

df=`ssh $some_server 2>/dev/null df $2 -k` 
echo $df

Perl脚本运行此tcsh脚本,我有以下两个问题:

  1. 第一个命令做什么?
  2. 在运行此命令之前(例如,从perl脚本或tcsh脚本开始,如何确定是否具有ssh密钥?

据我了解,如果我没有ssh密钥,它将要求输入密码。如果用户没有ssh键,我想向其显示基本警告。

1 个答案:

答案 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 版本之间改变,因此依赖于它的任何解决方案都不会变得非常可靠。您应该认为这只是一个提示。

相关问题