I am having the following program, which i am running the python code for simulating the analog circuit netlist(present in the ocean script) in cadence virtuoso simulator environment. my cadence simulator server is present in the college server, i am accessing server from my windows operating system through(wifi),
self.ssh.connect(self.server_address, username=self.username, password=self.password)
self.shell = self.ssh.invoke_shell()
while not self.shell.recv_ready():
    pass
elf.shell.send('csh\n')

before i had only the facility to access the cadence simulator from my windows environment, now the provided facility was modified to access the cadence simmulator from the LAN network, where the system is in LINUX environment, through the linux system i need to login in to my server by,
'ssh -Y 22phd0696@10.110.5.59',
password is: 'student',
after that i need to access the cadence server through 'csh',

now the below existing code is need to be replace by accessing the cadence server from the LINUX LAN connection. please provide me the modified code.
            
            
import paramiko

class CircuitSimulator:
    def __init__(self, server_address, username, password):
        self.server_address = server_address
        self.username = username
        self.password = password
        self.ssh = paramiko.SSHClient()
        self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        self.shell = None
    
    def connect(self):
        try:
            self.ssh.connect(self.server_address, username=self.username, password=self.password)
            self.shell = self.ssh.invoke_shell()
            while not self.shell.recv_ready():
                pass
            self.shell.send('csh\n')
            time.sleep(1)  # Add a delay to ensure shell is ready
        except Exception as e:
            print(f"Error connecting to server: {e}")
    
    def run_simulation(self, input_parameters):
        try:
            # Path configurations
            remote_text_path = '/home/userdata/22phd0696/OPAMPOTA180Result.txt'
            local_text_path = r'D:\OPAMP CIRCUITS\RL_GNN\OPAMPOTAresult.txt'
            #print(input_parameters)
            # Generate Ocean script with updated parameter values
            ocean_script_content = self.generate_ocean_script(input_parameters)
            
            # Send Ocean script to temporary file on remote server
            with self.ssh.open_sftp().file('/home/userdata/22phd0696/temp_oceanScriptOPAMPOTA180.ocn', 'w') as temp_script_file:
                temp_script_file.write(ocean_script_content)
            
            # Run Ocean script using 'ocean' command
            ocean_command = 'ocean -nograph -replay /home/userdata/22phd0696/temp_oceanScriptOPAMPOTA180.ocn -log temp_oceanScriptOPAMPOTA180.log'
            self.shell.send(ocean_command + '\n')
            
            # Wait for command to finish and capture output
            output = ''
            while not output.endswith("$ "):  # Assuming shell prompt ends with "$ "
                output += self.shell.recv(1024).decode()
            
            # Download the text file from the remote server
            sftp = self.ssh.open_sftp()
            sftp.get(remote_text_path, local_text_path)
            
            # Check if all transistor regions are '2'
            transistor_regions = self.check_transistor_regions(local_text_path)
            if all(region == 2 for region in transistor_regions.values()):
                saturation_condition = 'saturation'
            else:
                saturation_condition = 'not saturation'
            #logging.info(f"Input_Parameters: {input_parameters}")
            sub_logger.info(f"Input_Parameters: {input_parameters}")
            
            performance_metrics = self.extract_metrics(local_text_path, *input_parameters)            
            
            return transistor_regions, saturation_condition, performance_metrics
        
        except Exception as e:
            print(f"Error running simulation: {e}")
            return None, None, None, None 
 
    def close(self):
        try:
            if self.shell:
                self.shell.close()
            self.ssh.close()
        except Exception as e:
            print(f"Error closing SSH connection: {e}")