(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ ('broken keys'))} spids:[7])]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KEYS)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$OBJ') (/authorized_keys_) (${ VSub_Name USER))}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(start_sshd)})
    (C {(mv)} {(${ VSub_Name KEYS)} {(${ VSub_Name KEYS) (.bak)})
    (SimpleCommand
      words: [{(echo)} {(DQ ('ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEABTM= bad key'))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{($ VSub_Name '$KEYS')} spids:[47])]
    )
    (SimpleCommand
      words: [{(cat)} {(${ VSub_Name KEYS) (.bak)}]
      redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(${ VSub_Name KEYS)} spids:[58])]
    )
    (SimpleCommand
      words: [{(cat)} {($ VSub_Name '$OBJ') (/) ($ VSub_Name '$t') (.pub)}]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: -1
          arg_word: {($ VSub_Name '$OBJ') (/authorized_keys_) ($ VSub_Name '$USER')}
          spids: [71]
        )
      ]
    )
    (C {(${ VSub_Name SSH)} {(-2)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(somehost)} {(true)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(fail)} {(DQ ('ssh connect with protocol ') ($ VSub_Name '$p') (' failed'))})]
          spids: [-1 106]
        )
      ]
      spids: [-1 117]
    )
    (C {(mv)} {(${ VSub_Name KEYS) (.bak)} {(${ VSub_Name KEYS)})
  ]
)