Next revision | Previous revision |
tutoriais:como_transferir_arquivos_via_ssh [2011-09-22 17:04] – external edit 127.0.0.1 | tutoriais:como_transferir_arquivos_via_ssh [2021-06-14 08:09] (current) – [Transferindo arquivos no Windows usando WinSCP] gnann |
---|
Para acessar a rede IME por SSH, [[https://wiki.ime.usp.br/como_acessar_a_rede_ime_de_fora|clique aqui]]! | ====== Transferindo arquivos para a Rede IME ====== |
| Para liberar o acesso de fora do IME, é preciso requisitá-lo antes, informando seu usuário para [[mailto:admin@ime.usp.br|admin@ime.usp.br]] . |
| |
Para transferir arquivos entre o seu computador e a Rede IME (ou o inverso) use o comando scp. Para usá-lo, digite na linha de comando scp e as opções desejadas. | Para instruções sobre como se logar na Rede IME e rodar comandos remotamente, |
| veja as [[tutoriais:como_acessar_a_rede_ime_de_fora|instruções do SSH]]. |
| |
A sintaxe do scp é a seguinte: | Em todos os casos, usar: |
| * //Hostname// do servidor: ''sites.ime.usp.br'' |
| * Usuário: seu usuário na Rede IME |
| * Senha: sua senha na Rede IME |
| |
scp [opções] origem/nome-do-arquivo destino | ===== Transferindo arquivos no Windows usando WinSCP ===== |
| Certifique-se que o computador está conectado à Internet. |
| |
Onde uma opção pode ser: | Instale o programa [[http://winscp.net/eng/download.php|WinSCP]]. Uma tela de Login deve abrir junto à inicialização do programa. |
| |
-r (Copia os diretórios recursivamente) | {{ :tutoriais:scp_novo.png?600 |}} |
| |
Origem e destino podem ser: | O botão ''Salvar...'' é uma opção para salvar o usuário e domínio para utilizações futuras (a senha pode ser salva também, contudo o próprio programa não o recomenda - se o fizer, faça somente em um computador privado). No diálogo aberto, há opção de criar atalho na Área de Trabalho para facilitar. |
| |
*Local | Após se conectar, os arquivos locais estarão à esquerda e os arquivos do servidor, no painel da direita. Para transferir arquivos, basta arrastar de um lado para o outro, ou selecionar o que quiser e utilizar os botões no lado inferior (//copy// e //move//). Tome sempre muito cuidado com o que estiver fazendo! |
Um diretório que esteja no seu computador. O seu formato é: | |
| |
nome-do-diretório/ | {{ :tutoriais:winscp_transfer.png?600 |}} |
| |
*Remoto | ===== Transferindo arquivos com MacOS no modo gráfico ===== |
Um diretório, que no nosso caso, esteja na rede IME. O seu formato é: | Sugerimos o programa Cyberduck, no modo SFTP - https://cyberduck.io. |
| |
nome-do-usuário@ime.usp.br:nome-do-diretório/ | ===== Transferindo arquivos com Linux no modo gráfico ===== |
| A maioria dos navegadores de arquivo do Linux possuem uma opção "Conectar ao servidor" onde você pode preencher com: |
| * //Tipo// ''SSH'' ou ''SFTP'', depende do navegador de arquivos. |
| |
E o nome-do-arquivo é o arquivo que se deseja copiar, não se esqueça que também pode ser usado o caracter coringa \*. | Caso não encontre a opção de "Conectar ao servidor", alternativamente você pode tentar digitar o caminho completo no navegador de arquivos, por exemplo: <code>sftp://sites.ime.usp.br/home/SEUGRUPO/SEUUSUÁRIO</code> e pressionar a tecla ''Enter''. O sistema deve pedir seu usuário e senha. |
| |
---- | ===== Transferindo arquivos no Linux ou Mac usando scp ====== |
| Abra um terminal e use o comando ''scp''. Sua sintaxe é: |
| |
Exemplos | <code bash> |
| scp [opções] origem destino |
| </code> |
| |
scp beto@ime.usp.br:private/prova.tex /provas | Uma opção importante é ''-r'', necessária para copiar diretórios inteiros. Essa opção deve vir imediatamente após o ''scp''. Exemplo: |
| <code bash> |
| scp -r origem destino |
| </code> |
| |
Esse exemplo copia o arquivo prova.tex no diretório private dentro do home do usuário beto para o diretório (local) provas. | Origem e destino podem ser locais ou remotos. Localmente, digite o nome do arquivo ou diretório normalmente. Remotamente, o formato é: |
| |
scp aula1.html rita@ime.usp.br: | <code bash> |
| "nome-do-usuário"@sites.ime.usp.br:caminho |
| </code> |
| |
Copia o arquivo aula1.html que está no diretório corrente seu computador para o diretório home do usuário rita. | O caminho pode ser dado a partir do diretório HOME (por exemplo: ''usuario@sites.ime.usp.br:www/index.html''). Para digitar o caminho completo, comece com o caractere ''/'' (por exemplo: ''usuario@sites.ime.usp.br:/home/posmac/usuario/www/index.html''). |
| |
scp ~/transferencia/* manuel@ime.usp.br:/tmp/transferencia | Também podem ser usados caracteres coringa, como ''*''. |
| |
Copia todos os arquivos que estão no diretório (local) transferencia do diretório home do usuário para o diretório /tmp/transferencia . Note que o usuário manuel deve possuir permissão para gravar dados nessa pasta, caso contrário ocorrerá um erro de permissão. | ==== Exemplos de scp ==== |
| |
scp -r ana@ime.usp.br:/var/docs/\* /tmp | <code bash> |
| scp aula1.html rita@sites.ime.usp.br:www/aulas/ |
| </code> |
| Transfere o arquivo ''aula1.html'', que está no diretório atual de seu computador, para o diretório ''$HOME/www/aulas'' da rede IME. |
| |
Copia todos os arquivos e diretórios (recursivamente) de /var/docs para o diretório /tmp do seu computador. Note que o usuário ana deve possuir permissão de leitura para todos os arquivos e diretórios em /var/docs (inclusive). | <code bash> |
| scp aula1.html rita@sites.ime.usp.br: |
| </code> |
| Transfere o arquivo ''aula1.html'' para o diretório ''$HOME'' do usuário ''rita'' na rede IME. Note que **é preciso digitar os dois pontos**. |
| |
Sempre que uma transferência é requisitada, é necessário digitar a senha do usuário usado na origem/destino. | <code bash> |
| scp -r mac1234/ beto@sites.ime.usp.br:www/mac1234/ |
| </code> |
| |
Para saber mais sobre o scp, digite em uma linha de comando man scp. | Transfere o diretório local ''mac1234'', com todo o seu conteúdo, para o diretório ''www/mac1234/'' na rede IME, se esse diretório não existir ainda. (Ver também instrução sobre o comando ''rsync'', abaixo, para sincronizar diretórios). |
| |
---- | <code bash> |
| scp mac1234/* beto@sites.ime.usp.br:www/mac1234/ |
| </code> |
| |
Caso ainda tenha dúvidas sobre o ssh ou scp, digite em uma linha de comando: man ssh ou man scp respectivamente. | Transfere os arquivos imediatamente abaixo de ''mac1234'' para o diretório ''www/mac1234/'' na rede IME, caso este diretório já exista. (Ver também instrução sobre o comando ''rsync'', abaixo, para sincronizar diretórios). |
| |
| <code bash> |
| scp beto@sites.ime.usp.br:private/prova.tex provas/ |
| </code> |
| |
| Transfere o arquivo ''provas.tex'', que está dentro do diretório ''private/'' na rede IME, para o computador local. |
| |
| <code bash> |
| scp ~/transferencia/* manuel@sites.ime.usp.br:/tmp/transferencia/ |
| </code> |
| |
| Copia todos os arquivos que estão no diretório local ''~/transferencia'' para o diretório ''/tmp/transferencia/'' do servidor IME, com a conta de ''manuel''. Note que a pasta deve existir, e o usuário ''manuel'' precisa ter permissão de escrita. |
| |
| Para saber mais sobre o ''scp'', digite em uma linha de comando: ''man scp''. |
| |
| ===== Sincronizando diretórios com o Rsync ===== |
| |
| O comando ''scp'' é melhor para transferir arquivos uma vez só. Caso você esteja sempre editando vários arquivos em um diretório e sincronizando-o com outro computador, o comando ''rsync'' atenderá melhor as suas necessidades. A sintaxe básica é parecida: |
| |
| <code bash> |
| rsync -r origem/ destino/ |
| |
| # exemplo do computador local para a rede IME |
| rsync -r webpage/ usuario@sites.ime.usp.br:www/ |
| |
| # exemplo da rede IME para o computador local: |
| rsync -r usuario@sites.ime.usp.br:/tmp/resultados/ pesquisa/resultados/ |
| </code> |
| |
| **É importante digitar as barras no final, depois dos nomes dos diretórios**. A opção ''-r'' transmite o conteúdo de diretórios recursivamente, assim como no ''scp''. Uma vez que o comando termine, o conteúdo de ''destino/'' espelhará tudo que está em ''origem/''. |
| |
| O comando ''rsync'' é muito mais poderoso que o ''scp'', mas também é mais complexo, e possui inúmeras opções. Destacamos algumas das mais interessantes: |
| |
| * ''-r'': Transmite o conteúdo de diretórios, recursivamente. |
| * ''-z'': Comprime os arquivos durante a transferência. Bom para Internet lenta. |
| * ''-P'': Mostra o progresso da transferência, e mantém transferências parciais para continuar depois. |
| * ''-u'' (''%%--%%update''): Só transmite arquivos que são mais novos na origem. |
| * ''-c'' (''%%--%%checksum''): Só transmite arquivos que são diferentes na origem. |
| * ''--delete'': Apaga arquivos no destino que foram apagados (ou não existem) na origem. **Cuidado!** |
| * ''-n'': Não transfere os arquivos nem altera nada; só mostra o que seria feito. |
| |
| Para saber mais sobre ''rsync'', consulte o ''man rsync'', ou procure guias na Internet. |