1

Я хочу скопировать файл с исходного компьютера A на конечный компьютер B, используя команду, и хочу использовать ftp.

Я пробовал это

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: 

Когда я даю пароль для целевой машины

Permission denied, please try again.

Я пробовал несколько раз, но я получаю один и тот же вывод.

  1. Где я делаю ошибку?
  2. Как я могу дать имя пользователя и пароль в команде, чтобы он не спрашивал пароль?

Обновление:1

Я пытался использовать SSH. ниже приведены шаги, за которыми я следовал.

1. Убедитесь, что на локальном и удаленном хостах работает openSSH

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

2. Генерация пары ключей на локальном хосте с использованием 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. Установите открытый ключ на удаленном хосте.

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

4. Дайте соответствующее разрешение на каталог .ssh на удаленном хосте.

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

5. Войдите с локального хоста на удаленный хост, используя аутентификацию по ключу SSH, чтобы проверить, работает ли он правильно.

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

Когда я запускаю вышеупомянутую команду, я получаю:

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

Когда я печатаю

ssh -l ipaddress_of_remote-host remote-host

Он запрашивает пароль: когда я предоставляю пароль, он подключается к remote_host.

Почему он снова запрашивает пароль после того, как я зарегистрировал открытый ключ на удаленном хосте?

Обновление 2: извините за беспорядок.

  1. Я хочу скопировать файл из источника в место назначения, используя любой протокол. изменить разрешение

  2. [удаленный хост] $ chmod 700 ~/.ssh [удаленный хост] $ chmod 600 ~/.ssh/авторизованный_ключ

3 ответа3

1
  1. Вероятно, у вас нет прав доступа к /home /Desktop на удаленном сервере, вы можете попробовать /home /username_for_target_machine /Desktop
  2. Нет, я так не думаю. Но вы можете Google для "аутентификации с помощью открытого ключа SSH"
1

Вы путаете здесь разные вещи. Прежде всего, это не имеет ничего общего с ftp. Вы используете scp , а не ftp . Почему вы упоминаете ftp? Затем вы, кажется, пытаетесь подключиться к хосту, используя IP в качестве имени пользователя (-l дает имя пользователя для подключения как). Кроме того, права доступа неверны для файла authorized_keys , вам нужно 600 и 700 , а не 644 и 755 . Наконец, это действительно не очень хороший способ копировать ключи, для этого и ssh-copy-id .

Итак, давайте попробуем с самого начала. Шаги 1 и 2 в порядке, теперь сделайте это:

  1. Удалить запись , которую вы добавили в файл удаленного authorized_keys

  2. Исправьте разрешения на удаленном хосте:

    [remote-host]$ chmod 700 ~/.ssh/
    [remote-host]$ chmod 600 ~/.ssh/authorised_keys
    
  3. С локального хоста скопируйте ваш ключ на удаленный:

    [local-host]$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@ipaddress_of_remote-host
    
  4. Попробуйте войти снова

    [local-host]$ ssh jsmith@ipaddress_of_remote-host
    
  5. Похоже, что хост не экспортирует свое имя в сеть правильно. Для быстрого исправления запустите:

    [local-host] $ echo "имя хоста ipaddress_of_remote-host" | sudo tee -a /etc /hosts

    Это сохранит имя хоста в качестве псевдонима для его IP. Теперь вы можете подключиться с помощью ssh user@hostname .

0

Я думаю, что вы не настроили свой FTP, так как он запрашивает пароль, поэтому просто проверьте эту ссылку:

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

Чтобы настроить FTP-сервер, выполните следующие действия:

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

На клиенте просто введите URL-адрес ftp://HOST в вашем браузере или FTP-клиенте. Замените HOST именем хоста или IP-адресом вашего сервера. Существует множество доступных графических пользовательских интерфейсов, которые подходят для просмотра содержимого вашего FTP-сервера. Чтобы получить их список, просто введите FTP в строке поиска менеджера пакетов YaST.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .