我已经编写了一个连接到虚拟机的代码(使用SSH和Paramiko)并执行几个命令。但是我没有从ifconfig
命令获得结果(其余命令仍然正常)
信息:
我的代码:
#!/usr/bin/env python3
import paramiko
import getpass
def ssh_connect(host, port):
USERNAME = input("username: ")
PASSWORD = getpass.getpass("password: ")
CMDs = ['pwd', 'ifconfig', 'lsblk']
try:
ssh_client = paramiko.SSHClient()
ssh_client.load_system_host_keys()
ssh_client.connect(host, port=port, username=USERNAME, password=PASSWORD)
for CMD in CMDs:
print(f"{USERNAME}@{host}$ {CMD}")
_, stdout, stderr = ssh_client.exec_command(CMD.strip())
data_array_return = stdout.read().decode()
for line in data_array_return.split("\n"):
print(str(line))
ssh_client.close()
except Exception as e:
print(e)
def main():
HOST = input("hostname: ")
PORT = int(input("port: "))
ssh_connect(HOST, PORT)
if __name__ == "__main__":
main()
我的输出
ctnguyenvn[paraSSH]$ ./paramiko_ssh_simple.py
hostname: 192.168.145.10
port: 22
username: linux-victim
password:
linux-victim@192.168.145.10$ pwd
/home/linux-victim
linux-victim@192.168.145.10$ ifconfig
linux-victim@192.168.145.10$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 27.7G 0 part /
sr0 11:0 1 1024M 0 rom
我认为我的代码没有错。如何从ifconfig
命令获得结果?
stderr
的 ifconfig
显示:
bash:ifconfig:找不到命令
答案 0 :(得分:0)
输入ifconfig的完整路径。
您可以通过以下命令获取它:
which ifconfig