Pythonで複数のホストを経由するSSHトンネルを作る最も標準的な方法は、paramikoやpexpectのような確立されたSSHライブラリを使うことです。これらのライブラリはSSHプロトコルの高レベルな抽象化を提供し、SSH接続やトンネルを簡単に作成・管理できます。

たとえば、paramiko は SSHClient クラスを提供しており、これを使うとわずか数行のコードで複数のホストを経由する SSH トンネルを作ることができます。以下はその例です：

```
import paramiko

# SSH connection details for the first host
ssh_host1 = 'first_host'
ssh_username1 = 'username1'
ssh_password1 = 'password1'

# SSH connection details for the second host
ssh_host2 = 'second_host'
ssh_username2 = 'username2'
ssh_password2 = 'password2'

# Connect to the first host
ssh_client1 = paramiko.SSHClient()
ssh_client1.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client1.connect(ssh_host1, username=ssh_username1, password=ssh_password1)

# Create an SSH tunnel to the second host through the first host
ssh_client1_transport = ssh_client1.get_transport()
ssh_channel1 = ssh_client1_transport.open_channel('direct-tcpip', (ssh_host2, 22), ('localhost', 10022))

# Connect to the second host through the SSH tunnel
ssh_client2 = paramiko.SSHClient()
ssh_client2.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client2.connect('localhost', username=ssh_username2, password=ssh_password2, port=10022)

# Use the SSH tunnel to execute commands on the second host
stdin, stdout, stderr = ssh_client2.exec_command('ls -l')
print(stdout.read().decode())
```
The most standard method of creating an SSH tunnel through multiple hosts in Python is to use an established SSH library, such as paramiko or pexpect. These libraries provide high-level abstractions for the SSH protocol, making it easy to create and manage SSH connections and tunnels.

For example, paramiko provides an SSHClient class that can be used to create an SSH tunnel through multiple hosts with just a few lines of code. Here's an example:

```
import paramiko

# SSH connection details for the first host
ssh_host1 = 'first_host'
ssh_username1 = 'username1'
ssh_password1 = 'password1'

# SSH connection details for the second host
ssh_host2 = 'second_host'
ssh_username2 = 'username2'
ssh_password2 = 'password2'

# Connect to the first host
ssh_client1 = paramiko.SSHClient()
ssh_client1.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client1.connect(ssh_host1, username=ssh_username1, password=ssh_password1)

# Create an SSH tunnel to the second host through the first host
ssh_client1_transport = ssh_client1.get_transport()
ssh_channel1 = ssh_client1_transport.open_channel('direct-tcpip', (ssh_host2, 22), ('localhost', 10022))

# Connect to the second host through the SSH tunnel
ssh_client2 = paramiko.SSHClient()
ssh_client2.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client2.connect('localhost', username=ssh_username2, password=ssh_password2, port=10022)

# Use the SSH tunnel to execute commands on the second host
stdin, stdout, stderr = ssh_client2.exec_command('ls -l')
print(stdout.read().decode())
```