- Você provavelmente não tem permissão em / home / Desktop no servidor remoto, você pode tentar / home / username_for_target_machine / Desktop
- Não, eu não penso assim. Mas você pode usar o Google para "Autenticação de chave pública ssh"
Eu quero copiar um arquivo da máquina de origem A para a máquina de destino B, usando o comando e quero usar 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 dou senha para a máquina de destino
Permission denied, please try again.
Eu tentei várias vezes, mas obtive a mesma saída.
Atualização: 1
Eu tentei usar o 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 o login do host local para o host remoto usando a autenticação de chave SSH para verificar se ele 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á pedindo uma senha novamente depois que eu registrei a chave pública no host remoto?
Atualização 2: Desculpe pela bagunça.
Eu quero copiar o arquivo da origem para o destino usando qualquer protocolo. mude a permissão
[host remoto] $ chmod 700 ~ / .ssh [host remoto] $ chmod 600 ~ / .ssh / authorized_key
Você está confundindo várias coisas aqui. Em primeiro lugar, nada disso tem nada a ver com ftp. Você está usando scp
, não ftp
. Por que você está mencionando ftp? Então, você parece estar tentando se conectar ao host usando o IP como um nome de usuário ( -l
fornece o nome do usuário para se conectar como). Além disso, as permissões estão incorretas para o arquivo authorized_keys
, você precisa de 600
e 700
, não 644
e 755
. Finalmente, isso realmente não é uma boa maneira de copiar as chaves de qualquer maneira, é para isso que o ssh-copy-id
serve.
Então, vamos tentar desde o começo. Os passos 1 e 2 estão bem, agora faça isso:
Remova a entrada que você adicionou ao arquivo authorized_keys
remoto.
Corrija as permissões no host remoto:
[remote-host]$ chmod 700 ~/.ssh/
[remote-host]$ chmod 600 ~/.ssh/authorised_keys
No host local, copie sua chave para o controle remoto:
[local-host]$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@ipaddress_of_remote-host
Tente fazer login novamente
[local-host]$ ssh jsmith@ipaddress_of_remote-host
Parece que o host não está exportando seu nome para a rede corretamente. Para uma solução rápida, execute:
[host local] $ echo "ipaddress_of_remote host hostname" | 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
.
Acho que você não configurou seu FTP, pois está solicitando senha. Basta verificar este link:
1) link
Para configurar um servidor FTP, faça o seguinte:
**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 o URL ftp: // HOST no seu navegador ou cliente FTP. Substitua o HOST pelo nome do host ou pelo endereço IP do seu servidor. Existem muitas interfaces gráficas de usuário disponíveis 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.