Como copio um arquivo usando FTP da máquina A para a máquina B usando o comando

Como copio um arquivo usando FTP da máquina A para a máquina B usando o comando

Quero copiar um arquivo da máquina de origem A para a máquina de destino B, usando o comando e quero usar o ftp.

Eu tentei isso

scp /home/varun/Desktop/Test.java username_for_target_machine@ip_address_of_target_machine:/home/Desktop/

The authenticity of host 'ip_address_of_target_machine (ip_address_of_target_machine)' can't be established.
RSA key fingerprint is 4a:49:cc:9d:ab:f6:ec:4f:b2:0b:63:ef:8f:b8:76:76.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ip_address_of_target_machine' (RSA) to the list of known hosts.
qaserve@ip_address_of_target_machine's password: 

Quando eu dou a senha para a máquina de destino

Permission denied, please try again.

Tentei várias vezes, mas obtive a mesma saída.

  1. Onde estou cometendo um erro?
  2. Como posso fornecer um nome de usuário e senha no comando para que ele não peça senha?

Atualização:1

Eu tentei usar ssh. abaixo estão os passos que eu segui.

1. Verifique se o host local e o host remoto estão executando o openSSH

OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

2. Gere o par de chaves no host local usando ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): 
Enter same passphrase again:
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is:
31:3a:5d:dc:bc:81:81:71:be:31:2b:11:b8:e8:39:a0 jsmith@local-host

3. Instale a chave pública no host remoto.

[remote-host]$ vi ~/.ssh/authorized_keys 
ssh-rsa ABIwAAAQEAzRPh9rWfjZ1+7Q369zsBEa7wS1RxzWR jsmith@local-host

4. Dê permissão apropriada ao diretório .ssh no host remoto.

[remote-host]$ chmod 755 ~/.ssh
[remote-host]$ chmod 644 ~/.ssh/authorized_keys

5. Faça login do host local para o host remoto usando a autenticação de chave SSH para verificar se funciona corretamente.

[local-host]$ ssh -l jsmith remote-host

Quando executo o comando acima, recebo:

ssh: connect to host remote-host port 22: Connection timed out

Quando eu digito

ssh -l ipaddress_of_remote-host remote-host

Está pedindo uma senha: quando eu forneço a senha, ela se conecta ao remote_host.

Por que ele está solicitando uma senha novamente depois de registrar a chave pública no host remoto?

Atualização 2: Desculpe pela bagunça.

  1. Quero copiar o arquivo da origem para o destino usando qualquer protocolo. alterar a permissão

  2. [host remoto]$ chmod 700 ~/.ssh [host remoto]$ chmod 600 ~/.ssh/authorized_key

Responder1

  1. Você provavelmente não tem permissão em /home/Desktop no servidor remoto, você pode tentar /home/username_for_target_machine/Desktop
  2. Não, eu não penso assim. Mas você pode pesquisar no Google por "autenticação de chave pública ssh"

Responder2

Você está confundindo várias coisas aqui. Primeiro de tudo, nada disso tem nada a ver com FTP. Você está usando scp, não ftp. Por que você está mencionando o FTP? Então, você parece estar tentando se conectar ao host usando o IP como nome de usuário ( -lfornece o nome de usuário para conectar-se). Além disso, as permissões estão erradas para o authorized_keysarquivo, você precisa 600de and 700, não 644e 755. Finalmente, essa realmente não é uma boa maneira de copiar chaves, é para isso que ssh-copy-idserve.

Então, vamos tentar desde o início. As etapas 1 e 2 estão corretas, agora faça o seguinte:

  1. Remova a entrada que você adicionou ao authorized_keysarquivo remoto.

  2. Corrija as permissões no host remoto:

    [remote-host]$ chmod 700 ~/.ssh/
    [remote-host]$ chmod 600 ~/.ssh/authorised_keys
    
  3. Do host local, copie sua chave para o remoto:

    [local-host]$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@ipaddress_of_remote-host
    
  4. Tente fazer login novamente

    [local-host]$ ssh jsmith@ipaddress_of_remote-host
    
  5. Parece que o host não está exportando seu nome para a rede corretamente. Para uma solução rápida, execute:

    [local-host]$ echo "ipaddress_of_remote-host nome do host" | sudo tee -a /etc/hosts

    Isso salvará o nome do host como um alias para seu IP. Agora, você deve conseguir se conectar com ssh user@hostname.

Responder3

Acho que você não configurou seu FTP porque ele está pedindo senha, então verifique este link:

1)http://www.mpipks-dresden.mpg.de/~mueller/docs/suse10.2/html/opensuse-manual_en/manual/sec.filetrans.copy.html

Para configurar um servidor FTP, proceda da seguinte forma:

**Prepare the FTP server:**

    Install the vsftp package.

    Open a shell, login as root and save a backup copy of /etc/vsftpd.conf:

    cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

    Create an access point for anonymous FTP

    mkdir ~ftp/incoming
    chown -R ftp:ftp ~ftp/incoming

Replace the configuration files depending on the scenario you prefer (refer to the manual page of vsftpd.conf for advanced configuration options):

Allowing Anonymous Read and Write Access

    #
    listen=YES

    # Enable anonymous access to FTP server
    anonymous_enable=YES

    #
    local_enable=YES
    # Enable write access
    write_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    dirmessage_enable=YES
    # Write log file 
    xferlog_enable=YES
    connect_from_port_20=YES
    chown_uploads=YES
    chown_username=ftp
    ftpd_banner=Welcome to FTP service.
    anon_root=/srv/ftp

Grant Restricted Permissions to FTP Users (Home Only)

    chroot_local_users=YES

Restart the FTP server:

rcvsftp start

No cliente, basta inserir a URLftp://HOSTno seu navegador ou cliente FTP. Substitua HOST pelo nome do host ou endereço IP do seu servidor. Existem muitas interfaces gráficas de usuário disponíveis que são adequadas para navegar no conteúdo do seu servidor FTP. Para obter uma lista deles, basta digitar FTP no prompt de pesquisa do gerenciador de pacotes do YaST.

informação relacionada