code: def detach(self):
      self.tunnel.close()
      update_ssh_config(
          self.ssh_config_path, f"{self.run_name}-host", {}
      )
      update_ssh_config(self.ssh_config_path, self.run_name, {})
  
file_path: dstack/src/dstack/_internal/core/services/ssh/attach.py
imports: import atexit
  import re
  import subprocess
  import time
  from typing import Optional, Tuple
  from dstack._internal.core.errors import SSHError
  from dstack._internal.core.services.configs import ConfigManager
  from dstack._internal.core.services.ssh.ports import PortsLock
  from dstack._internal.core.services.ssh.tunnel import ClientTunnel
  from dstack._internal.utils.path import PathLike
  from dstack._internal.utils.ssh import get_ssh_config, include_ssh_config, update_ssh_config
label_desc: Use image node_id 4 for calling the SSHAttach obj's underlying member method code with example usage: obj.detach() without return types