예제 #1
0
파일: __init__.py 프로젝트: zhangchn/qemu
 def ssh_connect(self, username, credential, credential_is_key=True):
     self.ssh_logger = logging.getLogger('ssh')
     res = self.vm.command('human-monitor-command',
                           command_line='info usernet')
     port = get_info_usernet_hostfwd_port(res)
     self.assertIsNotNone(port)
     self.assertGreater(port, 0)
     self.log.debug('sshd listening on port: %d', port)
     if credential_is_key:
         self.ssh_session = ssh.Session('127.0.0.1',
                                        port=port,
                                        user=username,
                                        key=credential)
     else:
         self.ssh_session = ssh.Session('127.0.0.1',
                                        port=port,
                                        user=username,
                                        password=credential)
     for i in range(10):
         try:
             self.ssh_session.connect()
             return
         except:
             time.sleep(i)
     self.fail('ssh connection timeout')
예제 #2
0
파일: test_ssh.py 프로젝트: mxie91/avocado
 def test_minimal(self):
     session = ssh.Session("host")
     self.assertEqual(session.host, "host")
     self.assertIsNone(session.port)
     self.assertIsNone(session.user)
     self.assertIsNone(session.key)
     self.assertIsNone(session._connection)
예제 #3
0
파일: test_ssh.py 프로젝트: mxie91/avocado
 def test_master_connection_ssh_askpass_script(self):
     password = "******"
     session = ssh.Session("hostname", user="******", password=password)
     ssh_askpass_path = session._create_ssh_askpass()
     ssh_askpass_password = process.run(ssh_askpass_path)
     os.unlink(ssh_askpass_path)
     self.assertEqual(ssh_askpass_password.stdout_text.rstrip(), password)
예제 #4
0
 def ssh_connect(self, username, keyfile):
     self.ssh_logger = logging.getLogger('ssh')
     port = self.get_portfwd()
     self.ssh_session = ssh.Session('127.0.0.1', port=port,
                                    user=username, key=keyfile)
     for i in range(10):
         try:
             self.ssh_session.connect()
             return
         except:
             time.sleep(4)
             pass
     self.fail('ssh connection timeout')
예제 #5
0
 def ssh_connect(self, username, password):
     self.ssh_logger = logging.getLogger('ssh')
     port = self.get_portfwd()
     self.ssh_session = ssh.Session(self.VM_IP, port=int(port),
                                    user=username, password=password)
     for i in range(10):
         try:
             self.ssh_session.connect()
             return
         except:
             time.sleep(4)
             pass
     self.fail("sshd timeout")
예제 #6
0
파일: test_ssh.py 프로젝트: mxie91/avocado
 def test_no_ssh_client_binary(self):
     session = ssh.Session("hostname")
     with unittest.mock.patch("avocado.utils.ssh.SSH_CLIENT_BINARY", None):
         self.assertFalse(session.connect())
예제 #7
0
파일: test_ssh.py 프로젝트: mxie91/avocado
 def test_master_connection_no_password(self):
     session = ssh.Session("hostname", user="******")
     master_connection = session._master_connection()
     self.assertIn(" -o 'PasswordAuthentication=no'", master_connection)
예제 #8
0
파일: test_ssh.py 프로젝트: mxie91/avocado
 def test_master_connection_password(self):
     session = ssh.Session("hostname", user="******", password="******")
     master_connection = session._master_connection()
     self.assertIn(" -o 'PasswordAuthentication=yes'", master_connection)
예제 #9
0
파일: test_ssh.py 프로젝트: mxie91/avocado
 def test_master_connection_key(self):
     session = ssh.Session("hostname", user="******", key="/path/to/key")
     master_connection = session._master_connection()
     self.assertIn(" -o 'PubkeyAuthentication=yes'", master_connection)
예제 #10
0
파일: test_ssh.py 프로젝트: mxie91/avocado
 def test_ssh_cmd_user_key(self):
     session = ssh.Session("hostname", user="******", key="/path/to/key")
     ssh_cmd = session._ssh_cmd()
     self.assertIn(" -l ", ssh_cmd)
     self.assertIn(" -i ", ssh_cmd)
예제 #11
0
파일: test_ssh.py 프로젝트: mxie91/avocado
 def test_ssh_cmd_port(self):
     session = ssh.Session("hostname", port=22)
     ssh_cmd = session._ssh_cmd()
     self.assertIn(" -p ", ssh_cmd)
예제 #12
0
 def test_master_connection_password(self):
     session = ssh.Session('hostname', user='******', password='******')
     master_connection = session._master_connection()
     self.assertIn(" -o 'PasswordAuthentication=yes'", master_connection)
예제 #13
0
 def test_master_connection_no_key(self):
     session = ssh.Session('hostname', user='******')
     master_connection = session._master_connection()
     self.assertIn(" -o 'PubkeyAuthentication=no'", master_connection)
예제 #14
0
 def test_master_connection_key(self):
     session = ssh.Session('hostname', user='******', key='/path/to/key')
     master_connection = session._master_connection()
     self.assertIn(" -o 'PubkeyAuthentication=yes'", master_connection)
예제 #15
0
 def test_ssh_cmd_user_key(self):
     session = ssh.Session('hostname', user='******', key='/path/to/key')
     ssh_cmd = session._ssh_cmd()
     self.assertIn(" -l ", ssh_cmd)
     self.assertIn(" -i ", ssh_cmd)