(host, port, username, password)
| 81 | |
| 82 | |
| 83 | def telnet_login(host, port, username, password): |
| 84 | ret = False |
| 85 | key = [b'>', b'Login', b'login'] |
| 86 | tn = None |
| 87 | try: |
| 88 | for wrap in [b'\n', b'\r\n']: |
| 89 | tn = telnetlib.Telnet() |
| 90 | tn.open(host, port, timeout=6) |
| 91 | tn.read_until(b'login: ', timeout=3) |
| 92 | tn.write(username.encode() + wrap) |
| 93 | if password: |
| 94 | tn.read_until(b'password: ', timeout=3) |
| 95 | tn.write(password.encode() + wrap) |
| 96 | tmp = tn.expect(key, timeout=3) |
| 97 | if b'>' in tmp[2]: |
| 98 | ret = True |
| 99 | break |
| 100 | except Exception: |
| 101 | pass |
| 102 | finally: |
| 103 | if tn: |
| 104 | tn.close() |
| 105 | return ret |
| 106 | |
| 107 | |
| 108 | def task_init(host, port): |
no test coverage detected