Python Paramiko:错误13访问被拒绝
问题描述:
以下是一个试图制作服务器的Python Paramiko脚本。 每当我运行该脚本时,我都会遇到拒绝访问的错误。 错误的详细信息在下面列出。Python Paramiko:错误13访问被拒绝
import socket
import sys
import threading
import paramiko
from os.path import expanduser
keypath = expanduser("~/Desktop/test_rsa.key")
host_key = paramiko.RSAKey(filename=keypath)
class Server (paramiko.ServerInterface):
def __init__(self):
self.event = threading.Event()
def check_channel_request(self, kind, chanid):
if kind == 'session':
return paramiko.OPEN_SUCCEEDED
return paramiko.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED
def check_auth_password(self, username, password):
if (username == 'use') and (password == 'pass'):
return paramiko.AUTH_SUCCESSFUL
return paramiko.AUTH_FAILED
try:
host=""
global sock
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind((host,22))
sock.listen(1)
print "[+] Listening for connection"
除例外,E: 打印 “[]听/冰失败:” + STR(E)
try:
client,addr=socket.accept()
print" [+] got connection from" + str(addr)
t=paramiko.Transport(client)
t.load_server_moduli()
t.add_server_key(host_key)
server=Server()
t.start_server(server=server)
global chan
print chan
print chan.recv(1024)
chan.send("Oh yes I can see that")
except:
print "[-] Conncetion Terminated"
pass
您好,我米试图用的paramiko的帮助下运行服务器脚本。 每当我运行该脚本,我得到以下错误:
[] Listen/Bing Failed:[Errno 13] Permission denied
[-] Conncetion Terminated
请帮我把它。
此致
Vidit沙
答
出于安全原因,UNIX操作系统不允许非超级用户绑定到其结合到这些端口从而典型地作为根这样做1024以下服务端口在启动期间,然后只有在打开套接字后才切换到权限较低的用户。
使用较高范围的端口,而不是端口22.
意味着它说 - 你的操作系统说你不允许做某事。如果您打印了完整的堆栈跟踪信息,而不仅仅是“特征”,那么我们就可以准确地确定哪个调用失败了 - 但无论哪种方式,这可能意味着要查看防火墙规则或文件权限,否则一些操作系统强制执行。 –
......但无论如何,首先从这里开始打印一个堆栈跟踪,并将其包含在您的问题中。顺便说一句,如果只通过没有paramiko的套接字连接就可以产生相同的错误,那么你应该从你的问题中删除paramiko - 构建最小和最简单的产生相同问题的再现器是** M ** inimal为[最小,完整,可验证示例]指定的条件(http://stackoverflow.com/help/mcve)。 –
错误:root:发生了可怕的事情! 回溯(最近最后调用): 文件 “/Users/vidit/PycharmProjects/untitled6/server.py”,第41行,在 客户端,ADDR = socket.accept() AttributeError的: '模块' 对象没有属性'接受' 回溯错误 –