我需要执行以下命令来ssh到已保存凭据的网络上的设备。
ans = subprocess.check_output(['sudo','sshpass','-p',iplist[index][3],'ssh',iplist[index][2],'@',iplist[index][2]])
这是在Python环境中的Ubuntu上执行的。 我想实际执行 -
sudo sshpass -p password username@hostname
很可能在'@'之前有一个空格。 我该如何消除它?
答案 0 :(得分:5)
将它们连接到一个参数
ans = subprocess.check_output(['sudo', 'sshpass', '-p', iplist[index][3], 'ssh', iplist[index][2] + '@' + iplist[index][2]])
答案 1 :(得分:2)
您需要将iplist[index][2],'@',iplist[index][2]
合并到列表中的单个项目中:
ans = subprocess.check_output(['sudo','sshpass','-p', iplist[index][3],'ssh','{}@{}'.format(iplist[index][2], iplist[index][2])])