以下是我们通过腻子连接到远程linux服务器所执行的手动步骤,
在命令提示符下提供以下命令,
"C:\Program Files (x86)\PuTTY\putty" -P 4422 xxxx.yyyy.com\eid@zzzz.yyyy.com\eid@servername@aaaa.yyyy.com -L 50001:servername:22
它将自动打开一个腻子会话,在该会话中我们将提供密码(系统密码),然后提示生成我们需要提供的rsa密码。
执行上述操作后,它将登录到远程服务器。
对这些设备进行了一些研究之后,我发现它们正在使用跳转主机连接到远程主机,并且正在执行本地端口转发。
总有没有办法使此远程主机自动登录并执行一些操作,例如将文件移至特定路径并将某些文件从本地复制到远程主机并通过提供适当的选项来执行C程序?
在执行此登录之前,我们可以使用用户名和密码直接登录服务器,而我通过Python中的paramiko库将其自动化。请找到以下代码以供参考,
client = paramiko.SSHClient()
# Set SSH key parameters to auto accept unknown hosts
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#connect to host
client.connect(hostname=host, username=user, password=pwd)
with SSHClientInteraction(client, timeout=10, display=True) as interact:
interact.send('cd ' +scripts_path)
interact.send('./xxxx')
interact.send('T')
interact.send('A')