class_docstr: Interface for an SSHManager
      
class_docstr_tok: ["Interface","for","an","SSHManager"]
code: def _prep_connection_args(self, url):
      # parse url:
      from datalad.support.network import RI, is_ssh
  
      if isinstance(url, RI):
          sshri = url
      else:
          if ":" not in url and "/" not in url:
              # it is just a hostname
              lgr.debug(
                  "Assuming %r is just a hostname for ssh connection",
                  url,
              )
              url += ":"
          sshri = RI(url)
  
      if not is_ssh(sshri):
          raise ValueError(
              "Unsupported SSH URL: '{0}', use "
              "ssh://host/path or host:path syntax".format(url)
          )
  
      from datalad import cfg
  
      identity_file = cfg.get("datalad.ssh.identityfile")
      return sshri, identity_file
  
imports: import fasteners
  import os
  import logging
  from socket import gethostname
  from hashlib import md5
  from subprocess import Popen
  import tempfile
  import threading
  from datalad.utils import quote_cmdlinearg
  from datalad.support.exceptions import CapturedException, CommandError, ConnectionOpenFailedError
  from datalad.support.external_versions import external_versions
  from datalad.utils import auto_repr, Path, ensure_list, on_windows
  from datalad.cmd import NoCapture, StdOutErrCapture, WitlessRunner
  from ..None import cfg
label_desc: Use image node_id 3 for calling the BaseSSHManager obj's underlying member method code with example usage: obj._prep_connection_args(url) and returns: sshri,  identity_file