¿Cómo copio un archivo usando ftp de la máquina A a la máquina B usando el comando?

¿Cómo copio un archivo usando ftp de la máquina A a la máquina B usando el comando?

Quiero copiar un archivo de la máquina de origen A a la máquina de destino B, usando el comando y quiero usar ftp.

Probé esto

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: 

Cuando doy la contraseña para la máquina de destino

Permission denied, please try again.

Lo intenté varias veces pero obtengo el mismo resultado.

  1. ¿Dónde estoy cometiendo un error?
  2. ¿Cómo puedo dar un nombre de usuario y una contraseña al comando para que no me pida la contraseña?

Actualización: 1

Intenté usar ssh. A continuación se muestran los pasos que seguí.

1. Verifique que el host local y el host remoto estén ejecutando openSSH

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

2. Genere un par de claves en el 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 la clave pública en el host remoto.

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

4. Otorgue el permiso adecuado al directorio .ssh en el host remoto.

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

5. Inicie sesión desde el host local al host remoto utilizando la autenticación de clave SSH para verificar si funciona correctamente.

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

Cuando ejecuto el comando anterior obtengo:

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

cuando escribo

ssh -l ipaddress_of_remote-host remote-host

Me pide una contraseña: cuando proporciono la contraseña, se conecta al host_remoto.

¿Por qué vuelve a solicitar una contraseña después de haber registrado la clave pública en el host remoto?

Actualización 2: Perdón por el desorden.

  1. Quiero copiar un archivo desde el origen al destino utilizando cualquier protocolo. cambiar el permiso

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

Respuesta1

  1. Probablemente no tengas permiso en /home/Desktop en el servidor remoto, quizás quieras probar /home/username_for_target_machine/Desktop
  2. No, no lo creo. Pero puedes buscar en Google "Autenticación de clave pública ssh"

Respuesta2

Estás confundiendo varias cosas aquí. En primer lugar, nada de esto tiene nada que ver con ftp. Estás usando scp, no ftp. ¿Por qué mencionas ftp? Entonces, parece que está intentando conectarse al host utilizando la IP como nombre de usuario ( -lproporciona el nombre de usuario para conectarse). Además, los permisos son incorrectos para el authorized_keysarchivo, necesita 600and 700, no 644and 755. Finalmente, esa realmente no es una buena manera de copiar claves, para eso sirve ssh-copy-id.

Entonces, intentémoslo desde el principio. Los pasos 1 y 2 están bien, ahora haz esto:

  1. Elimine la entrada que agregó al authorized_keysarchivo remoto.

  2. Corrija los permisos en el host remoto:

    [remote-host]$ chmod 700 ~/.ssh/
    [remote-host]$ chmod 600 ~/.ssh/authorised_keys
    
  3. Desde el host local, copie su clave al control remoto:

    [local-host]$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@ipaddress_of_remote-host
    
  4. Intente iniciar sesión nuevamente

    [local-host]$ ssh jsmith@ipaddress_of_remote-host
    
  5. Parece que el host no exporta correctamente su nombre a la red. Para una solución rápida, ejecute:

    [host-local]$ echo "direcciónip_del_nombre de host del host remoto" | sudo tee -a /etc/hosts

    Eso guardará el nombre del host como alias para su IP. Ahora deberías poder conectarte con ssh user@hostname.

Respuesta3

Creo que no has configurado tu FTP porque te pide una contraseña, así que comprueba este enlace:

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

Para configurar un servidor FTP, proceda de la siguiente manera:

**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

En el cliente, simplemente ingrese la URLftp://HOSTen su navegador o cliente FTP. Reemplace HOST con el nombre de host o la dirección IP de su servidor. Hay muchas interfaces gráficas de usuario disponibles que son adecuadas para explorar el contenido de su servidor FTP. Para obtener una lista de ellos, simplemente ingrese FTP en el mensaje de búsqueda del administrador de paquetes de YaST.

información relacionada