Como copiar um arquivo para um servidor remoto usando a linha de comando?

1

Eu estou tentando copiar um arquivo da minha área de trabalho para o meu servidor remoto usando o comando sudo. Eu estou fazendo isso a partir da máquina remota desde que eu sei a senha para esta máquina e eu não tenho uma senha para a minha máquina local.

sudo scp donj@localhost:/Desktop/my.cnf user@remotemachine:/app/MySQL/my.cnf

Isso não funciona no entanto. Eu quero sobrescrever o arquivo my.cnf no diretório MySQL. Eu tentei o comando su, mas não tenho a senha para me tornar um superusuário.

    
por cool_cs 03.06.2012 / 21:35

3 respostas

2

Você pode usar o comando scp que é dedicado para transferir arquivos entre computadores em uma rede

Você não precisa ser root para copiar um arquivo da sua máquina local para executar este comando:

scp /home/Desktop/my.cnf user@remotemachine:/app/MySQL/my.cnf

Como sempre, se você precisar de privilégios de root, faça o login como root:

scp /home/Desktop/my.cnf root@remotemachine:/app/MySQL/my.cnf

Excelente link aqui

man scp para mais informações

    
por 03.06.2012 / 21:43
1
cat /Desktop/my.conf | ssh user@remotemachine sudo cat > /app/MySQL/my.cnf

Você também pode ssh para a máquina remota e fazer isso:

sudo scp user@yourmachine:/Desktop/my.conf /app/MySQL/my.cnf
    
por 03.06.2012 / 21:36
1

Primeiro de tudo, você pode acessar o sistema remoto com ssh e fazer sudo cat /etc/shadow (apenas não cole a saída aqui, não precisamos dela)? Se puder, você é bom, se não puder, precisará adicionar seu usuário remoto a sudoers e / ou wheel e tente novamente.

Em seguida, se você estiver fazendo algo assim, considere adicionar outra conta de administrador à máquina remota (e não a outra root ) com permissões e grupos suficientes para fazer o que for necessário.

Se você precisar apenas dessa vez, use uma das outras respostas para se conectar e copiar ou fazer o upload para um arquivo temporário, conecte-se com a conta de usuário normal e sudo mv /home/user/uploadedfile.cnf /to/here/mysql.cnf e sudo chown root:root /to/here/mysql.cnf para dar certo user:group .

    
por 04.06.2012 / 02:55