File tree 1 file changed +20
-3
lines changed
1 file changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -241,13 +241,30 @@ sshcommand-list() {
241
241
declare desc=" Lists SSH keys by user, an optional name and a optional output format (JSON)"
242
242
declare userhome USER=" $1 " NAME=" $2 " OUTPUT_TYPE=" ${3:- $2 } "
243
243
[[ -z " $USER " ]] && log-fail " Usage: sshcommand list" " $( fn-args " sshcommand-list" ) "
244
+ SSHCOMMAND_IGNORE_LIST_WARNINGS=" ${SSHCOMMAND_IGNORE_LIST_WARNINGS:- false} "
244
245
245
246
getent passwd " $USER " > /dev/null || log-fail " \" $USER \" is not a user on this system"
246
247
userhome=$( sh -c " echo ~$USER " )
247
- [[ -e " $userhome /.ssh/authorized_keys" ]] || log-fail " authorized_keys not found for $USER "
248
- [[ -s " $userhome /.ssh/authorized_keys" ]] || log-fail " authorized_keys is empty for $USER "
248
+ if [[ ! -e " $userhome /.ssh/authorized_keys" ]]; then
249
+ log-warn " authorized_keys not found for $USER "
250
+ if [[ " $SSHCOMMAND_IGNORE_LIST_WARNINGS " == " false" ]]; then
251
+ return 1
252
+ fi
253
+ return
254
+ fi
255
+
256
+ if [[ ! -s " $userhome /.ssh/authorized_keys" ]]; then
257
+ log-warn " authorized_keys is empty for $USER "
258
+ if [[ " $SSHCOMMAND_IGNORE_LIST_WARNINGS " == " false" ]]; then
259
+ return 1
260
+ fi
261
+
262
+ if [[ " $OUTPUT_TYPE " == " json" ]]; then
263
+ echo " []"
264
+ fi
265
+ return
266
+ fi
249
267
250
- SSHCOMMAND_IGNORE_LIST_WARNINGS=" ${SSHCOMMAND_IGNORE_LIST_WARNINGS:- false} "
251
268
if ! fn-verify-file " $userhome /.ssh/authorized_keys" && [[ " $SSHCOMMAND_IGNORE_LIST_WARNINGS " == " false" ]]; then
252
269
return 1
253
270
fi
You can’t perform that action at this time.
0 commit comments