Como faço para scp via ssh? [duplicado]

3

Eu tenho uma máquina LINUX (remota) e uma máquina MAC (local). Nosso administrador do sistema configurou um método "SSH", pelo qual eu posso ssh do meu MAC, para minha máquina LINUX, através deste comando no meu MAC:

ssh [email protected] -p 12345

Quando faço isso, sou solicitado a inserir a senha da minha máquina LINUX e, quando faço isso, tenho acesso, o que é ótimo.

O que eu quero fazer agora, é conseguir scp da minha máquina MAC, para minha máquina LINUX, para que eu possa transferir arquivos. Como faço isso? Eu pesquisei por aí, mas não tenho certeza do que fazer.

Obrigado

    
por TheGrapeBeyond 30.12.2017 / 20:18

3 respostas

8

Para copiar de REMOTE para LOCAL :

scp -P 12345 user@server:/path/to/remote/file /path/to/local/file

Para copiar de LOCAL para REMOTE :

scp  -P 12345 /path/to/local/file user@server:/path/to/remote/file

Observação: a opção para especificar porta para scp é -P em vez de -p

Se você quiser copiar todos os arquivos em um diretório, use curingas como abaixo:

scp -P 12345 user@server:/path/to/remote/dir/* /path/to/local/dir/

ou até mesmo

scp -P 12345 user@server:/path/to/remote/dir/*.txt /path/to/local/dir/
    
por 30.12.2017 / 20:20
4

Você deve usar algo assim

scp -P 12345 -p some_file [email protected]:

Isso copiará some_file para seu diretório pessoal no servidor remoto. Altere o nome ou caminho colocando a alternativa imediatamente após o : (sem espaço). Troque os argumentos para copiar de volta para o sistema local.

O -P 12345 é equivalente ao seu -p 12345 e o -p sinalizador diz scp para manter os registros de data e hora e as permissões para o arquivo de destino.

    
por 30.12.2017 / 20:22
2

Se você estiver fazendo isso com frequência, sugiro adicionar algumas configurações no arquivo ~/.ssh/config

adicione as seguintes linhas

Host highlabs
   Hostname gateway.highlabs.co
   User marcus
   Port 12345

Então você pode

ssh highlabs

ou

scp highlabs:/path/to/file /local/path/to/file

para copiar do servidor

ou

scp /local/path/to/file highlabs:/remote/path/to/file

para copiar para o servidor

Se você estiver usando a conclusão da tabulação de chave, funcionará da seguinte maneira. Por exemplo, ssh hi<tab> terminará a palavra e scp highlabs:/et<tab> expandirá para / etc depois de verificar os arquivos no servidor remoto

    
por 30.12.2017 / 23:48