rsh mostra “poll: falha de protocolo na configuração do circuito”, por quê?

3

No início, o rsh funcionou corretamente, mas depois de fazer algumas mudanças ele mostra algum erro [as mudanças são mostradas no final desta questão, veja isso], estou compartilhando o mesmo.

Comando

$ / usr / bin / rsh localhost ulimit -n

Resultado

poll: protocol failure in circuit setup

Depois de enfrentar esse problema, eu segui este link , mas não conseguiu ajuda.

Funciona corretamente, mas quando fiz algumas alterações, a partir deste link , depois disso mostra a saída como acima. Agora eu reverti todas as alterações, mas mostra a mesma saída. Por quê?

Estas são as linhas que adicionei em arquivos, mostrando no lado esquerdo, vendo o link acima.

/etc/pam.d/login:       session    required     pam_limits.so
/etc/pam.d/sshd:        session    required     pam_limits.so
/etc/pam.d/su:          session    required     pam_limits.so
/etc/pam.d/system-auth: session    required     pam_limits.so

Aqui é o link do que estou tentando fazer.

Editar nº 1

strace -o log.txt rsh localhost pwd , algumas linhas de saída são como,

connect(3, {sa_family=AF_INET, sin_port=htons(514), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4
bind(4, {sa_family=AF_INET, sin_port=htons(1022), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
listen(4, 1)                            = 0
write(3, "1022
execve("/usr/sbin/in.rshd", ["in.rshd"], [/* 22 vars */]) = 0
brk(0)                                  = 0x2b3054ec2000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b303671d000
uname({sys="Linux", node="jhamb.XXX.XXX", ...}) = 0
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b303671e000
arch_prctl(ARCH_SET_FS, 0x2b303671e6d0) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
", 5) = 5 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}], 2, -1) = 1 ([{fd=3, revents=POLLIN|POLLERR|POLLHUP}]) write(2, "poll: protocol failure in circui"..., 40) = 40 close(4) = 0 close(3) = 0 rt_sigprocmask(SIG_SETMASK, [], [URG], 8) = 0 exit_group(1)

Editar no. 2

Comando - strace ~/rshd.trace in.rshd

Resultado

poll: protocol failure in circuit setup
    
por devsda 18.03.2013 / 11:25

2 respostas

3

O rsh é um protocolo excepcionalmente esquisito que apresenta um enrugamento bastante incomum (acho que o ftp não-PASV é o único outro protocolo baseado em TCP que já vi): após abrir uma conexão com o servidor, o servidor para abrir uma conexão TCP de volta ao cliente. Isso ocorre porque o protocolo rsh retorna a saída padrão através da conexão TCP regular e erro padrão através desta estranha conexão de canal traseiro.

Obviamente, isso funciona muito, muito mal nestes dias de firewalls onipresentes. Eu suspeito que algum firewall entre você e o servidor de destino esteja rejeitando a conexão de canal posterior. Alguns firewalls têm rastreamento de estado do protocolo rsh para permitir isso, mas, mesmo que isso esteja disponível, muitas vezes ele não está ativado.

Isso (entre muitas outras razões) é por que o rsh está morrendo e todo mundo está migrando para o ssh, que tem um protocolo muito melhor projetado (embora mais complexo) que multiplexa vários fluxos de saída na mesma conexão.

É por isso que seu primeiro link diz para desativar o iptables; está desabilitando o firewall que está bloqueando a conexão de canais posteriores.

    
por 19.03.2013 / 04:53
0

Causas:

O problema é que o Multi rsh está sendo executado ao mesmo tempo.

Solução:

Reinicie o rsh,

service xinetd restart

    
por 28.02.2017 / 08:06

Tags