hello--world
第一次在列表选择,第二次显示`inner-server ssh -i ~/.ssh/id_rsa [email protected]`,还需要按一次回车,不然就卡住不动。
#1 · closed · 7 comments
第一次在列表选择,第二次显示`inner-server ssh -i ~/.ssh/id_rsa [email protected]`,还需要按一次回车,不然就卡住不动。
我才刚发布,这就用上了?
嗯,一直想找一个这样的。关注了你,打开GitHub就看到你发布了,测试了一下,就是我需要的。
应该是PS1跟pexpect的正则不匹配的问题,我其实就简单粗暴的用pexpect实现的。 ``` def login (self, server, username=None, password='', terminal_type='ansi', original_prompt=r"[#$]", login_timeout=10, port=None, auto_prompt_reset=True, ssh_key=None, quiet=True, sync_multiplier=1, check_local_ip=True, password_regex=r'(?i)(?:password:)|(?:passphrase for key)', ssh_tunnels={}, spawn_local_ssh=True, sync_original_prompt=True, ssh_config=None, cmd='ssh'): ``` 它这个参数里面有个 original_prompt="[#$]" 这里面的PS1需要包含#或$才可以,你看看是不是这个问题
测试了一下,卡在了 151行的这个调用 s.interact(),有配置` callback-shells`就没问题。 ```python print_formatted_text(HTML("<gray>END OF INTERACT</gray>")) else: s = spawn_ssh(self) s.interact() # 151 行 ```
> 测试了一下,卡在了 151行的这个调用 s.interact(),有配置` callback-shells`就没问题。 > > ```python > > print_formatted_text(HTML("<gray>END OF INTERACT</gray>")) > > else: > > s = spawn_ssh(self) > > s.interact() # 151 行 > > ``` 你要不看看怎么修复一下
好,我研究研究
```python s = spawn_ssh(self) s.sendline() s.interact() ``` 加一个`s.sendline()`暂时可以解决,还没研究具体怎么回事。