PuTTY sFTP Transfer

2

Estou em PuTTY e PSFTP no Windows e estou conectado ao meu servidor remoto, que é um Ubuntu.

Meu problema é selecionar um arquivo para enviar para o servidor remoto usando o comando put.

No mesmo diretório que o executável PSFTP, eu tenho uma pasta chamada "CSS".

Eu tento psftp> put CSS e obtenho local: unable to open CSS , embora eu o veja na lista de diretórios disponíveis usando !dir .

Além disso, quando eu seleciono outro arquivo que funciona, recebo o seguinte erro:

open for write: permission denied

Como resolvo esses dois problemas, em primeiro lugar, não sendo possível selecionar o diretório que desejo fazer o upload, e o segundo, a permissão negada?

Muito obrigado.

    
por LSD 14.02.2015 / 15:18

2 respostas

2

No psftp, se você digitar help put , verá o seguinte:

put [ -r ] [ -- ] <filename> [ <remote-filename> ]
  Uploads a file to the server and stores it there under
  the same name, or under a different one if you supply the
  argument <remote-filename>.
  If -r specified, recursively store a directory.

Use put -r CSS para transferir um diretório. Você receberá uma mensagem de erro como local: unable to open CSS , se tentar usar o comando put para transferir um diretório sem usar a opção -r.

Como um aparte, outro bom programa gratuito para o sftp para sistemas Microsoft Windows é o WinSCP .

No sistema Ubuntu, verifique as permissões no diretório onde você está tentando colocar os arquivos com ls -ld directory_name . Por exemplo, suponha que você esteja tentando colocar os arquivos em um diretório chamado test:

$ ls -ld test
drwxrwxr-x. 3 jdoe jdoe 61 Feb 14 10:42 test

O diretório acima é de propriedade da conta jdoe e o grupo também é jdoe. Então, se você logar no sistema Ubuntu com psftp usando a conta do jdoe, você poderá colocar os arquivos no diretório de teste porque a conta do proprietário do diretório tem permissões de leitura, gravação e execução (os primeiros caracteres rwx após o "d" indicando teste é um diretório. Qualquer conta no grupo jdoe também tem acesso de leitura, gravação e execução, o "x" também concede a capacidade de pesquisar ou ver arquivos no diretório. Os últimos 3 caracteres de permissão são r-x concedendo outras contas nas permissões de leitura e execução do sistema, ou seja, a capacidade de pesquisar o diretório ou ver os arquivos dentro dele, mas não a permissão de gravação, ou seja, a capacidade de modificar arquivos existentes dentro do diretório ou colocar novos ali. Se você quisesse conceder a cada conta do sistema permissões de leitura, gravação e execução, você poderia usar chmod 777 test ou chmod o+w test , o que adiciona permissão de gravação para "outras" contas a serem testadas. permitindo qualquer conta no th e sistema Ubuntu a capacidade de colocar arquivos no diretório ou modificar os existentes. Como alternativa, se você fez login na conta que possui o diretório psftp, por exemplo, a conta do jdoe, não é necessário alterar as permissões.

Você também pode ver as permissões de dentro do psftp depois de entrar no sistema Ubuntu usando-o. Apenas digite ls enquanto você tiver um diretório acima daquele em que você deseja armazenar os arquivos selecionados e procure as permissões no diretório em que deseja armazenar os arquivos.

Eu esperaria as mensagens de erro que você relatou se, por exemplo, você estava tentando colocar arquivos em um diretório de propriedade do root, ao qual outras contas não têm acesso de gravação.

    
por 14.02.2015 / 16:45
0

Como alternativa, você pode baixar um programa chamado Filezilla. Eu uso isso no meu trabalho, ele permite literalmente arrastar e soltar arquivos no diretório que você deseja. É útil quando você não quer ter que usar o terminal apenas para fazer uma tarefa trivial.

Ele se conecta ao servidor via SSH.

    
por 14.02.2015 / 16:58

Tags