Katselin ympärilleni muita kysymyksiä täällä ja erilaisia ”scp-käyttö” -oppaita Internet, mutta en voi selvittää, mikä vikaa.
Käytän Linux Mintia ja yritän selvittää, miten scp toimii.
Olen tiedosto tiedosto.ext (tietokoneellani) hakemistossa / home / name / dir /
Yhdistän etäkone, joka käyttää ssh , kuten:
ssh -p 2222 username@domain
se pyytää minulta salasanaa ja komentotulkki näyttää:
username@domain ~ $
nyt, jos annan komennon (ennen ssh: n suorittamista olin paikallisessa hakemistossa / home / name / dir ):
scp -r -P 2222 file.ext username@domain
lähtö on:
cp: cannot stat ‘file.ext’: No such file or directory
Sama tulos, jos kirjoitan tiedoston.ext sijaan koko polun.
scp -r -P 2222 /home/name/dir/file.ext username@domain
Palvelimen järjestelmänvalvoja kertoi myös, että lähetän tiedoston etäkotihakemistooni (juuren sijaan), kuten:
scp -r -P 2222 file.ext username@domain:~/
mutta kun teen sen ja painan ”Enter”, mitään ei tapahdu, ikään kuin kuori odottaisi lisäsyöttöä.
Yhteenveto ongelmistani:
- cp: ei tällaista tiedostoa tai hakemistoa
- kuori ”jumissa” ~ /
Onko ehdotuksia?
Kommentit
Vastaa
Sinun on suoritettava scp -komento paikallisesta koneesta, ei kaukosäätimestä. Et tarvitse lainkaan ssh:
dragonmnl@local $ scp -P 2222 file.ext username@domain:~/
Et myöskään tarvitse -r:
-r Recursively copy entire directories.
Jos olet jo kirjautunut etäkoneeseen ja haluat kopioida paikalliselta, sinun on tehtävä varmista, että paikalliseen koneeseesi pääsee Internetin kautta ja että ssh on määritetty. En usko, että olet tämän jälkeen, mutta jos se on, suorita tämä kauko-ohjaimesta:
username@domain $ scp dragonmnl@local:/path/to/file.ext ~/
Kommentit
- kiitos. ongelmana oli, että yritin suorittaa scp: tä ssh-istunnossa. Nyt se toimii!
Vastaa
Tarjoan kaksi tapaa ladata / ladata tiedosto etä- ja paikallisen koneen välillä (käytän Mac airia):
Tässä tapauksessa haluan ylös / alas 11.jpeg paikallisen ja etäyhteyden välillä:
-
Kopioi palvelun tiedostot paikalliseen kansioon: Sinun on oltava paikallisessa bash-päätteessä tämän komennon suorittamiseksi, etkä kun olet ssh: ssä!
scp username@domain:/home/xxx/xxx/11.jpeg /Users/username/Desktop/kopioi tiedostot paikalliseen hakemistoon etäpalvelu: myös sinun on oltava paikallisessa bash-päätteessä
scp /Users/username/Desktop/11.jpeg username@domain:/home/xxx/xxx -
Saman tarkoituksen saavuttamiseksi , kun kirjaudut sisään SSH: hen , sinun on ensin asetettava Järjestelmäasetukset > jakamalla > etälokia > kaikkiin käyttäjiin (en ole varma sinun on määritettävä ” kaikille käyttäjille ”, mutta se toimii tässä tilanteessa) ”Mac kertoo sinulle ” Voit kirjautua tälle tietokoneelle etänä kirjoittamalla:
ssh username@xxxxxx, then type in the command below: scp username@domain:/home/xxx/xxx/11.jpeg username@xxxxxx:/Users/username/Desktop/**
Tämä yllä oleva komento on tarkoitettu tiedoston lataamiseen kaukosäätimestä paikalliseen, kun kirjaudut sisään ssh: ään, muuta vain kahta polkua, kun haluat lähettää tiedoston.
kommentit
- Lopuksi katson, että Filezilla on luultavasti mukavin päivittäisessä työssä ~~
Vastaa
Käytä komentoa scp
Jos haluat siirtää kansion, Vain zip se ensin, voimme unzip sen myöhemmin.
Suorita tämä tietokoneellasi:
$ scp your_path_to_the_file/the_file [email protected]:~/
Tässä root on tilisi ja 10.145.198.100 on etäpalvelimen IP-osoite. Kopioimme the_file kauko-ohjaimen ~/ -kansioon.
Pura tiedosto:
$ unzip the_zip_file.zip -d destination_folder
kommentit
- miksi
rootedes SSH-yhteys etäkoneeseen? Se ’ on melko epävarma. Parempi käyttää tavallista käyttöä ja sittensudotehdä mikä tahansa juuren tehtävä tällä koneella.
Vastaa
Jos suoritat tätä scp-komentoa etäkoneella, se etsii file.ext ”paikallisena” tiedostona, ts. div id = ”3fc9268a4d”>
etäkoneessa.
Jos haluat kopioida tiedoston etälaitteesta paikalliseen, käytä scp -P 2222 username@domain:dir/file.ext localdir (olettaen, että file.ext on etätietokoneen ~/dir -kohdassa, kuten esimerkissä) . Jos suoritat scp etäkoneella, käännä ”local” ja ”remote” taaksepäin.
Kommentit
- OP haluaa kopioida paikallisesta kauko-ohjaimeen, katso OP ’ -otsikko.
- Hups, luulen, että sinä ’ on oikeassa. Mutta hän ’ ilmeisesti tekee sen taaksepäin …
Vastaa
Vain pieni panos, ehkä se voi auttaa minun kaltaisiai aloittelijoita: polku etähakemistoon tulisi kirjoittaa seuraavasti: username@domain:~/remote_directory
Haluan tässä korostaa, että meidän on aina lisättävä, että :~/
Vastaa
Ratkaisu tiedostojen kopioimiseksi Linux-työasemasta Linux-palvelimeen
-
Tarkista, toimiiko
sshdpalvelimellasi:ps aux | grep sshd -
Jos ei, asenna
OpenSSHkäyttämälläsudo apt-get install openssh-server openssh-clienthttps://www.tecmint.com/install-openssh-server-in-linux/ -
Käynnistä palvelimesi uudelleen ja varmista, että
sshdon käytössäps aux | grep sshd -
Tarvittaessa voit määrittää
/etc/ssh/sshd_config-tiedoston, mutta sitä ei tarvita yksinkertaisissa määrityksissä -
varmista, että th e-portit ovat auki käyttämällä
netcat:nc -v -z 127.0.0.1 22 -
Tiedostojen kopioiminen
LinuxasiakasLinux-asiakas käyttää scp: tä seuraavastiscp ~/filename.md [email protected]:~/folder/filename.md -
Varmista, että tiedosto on kopioitu, käyttämällä
ssh [email protected]ja antamalla salasanasi.
Ratkaisu tiedostojen kopioimiseksi Linux-työasemasta Windows
-
SSH: n suorittamiseen on useita asiakkaita palvelimet Windowsissa, kuten:
-
Asenna jokin yllä olevista palvelimista ja varmista, että portti 22 on auki käyttämällä
netsh advfirewall firewall add rule name="SSH Port 22" dir=in action=allow protocol=UDP localport=22 netsh advfirewall firewall add rule name="SSH Port 22" dir=out action=allow protocol=UDP localport=22netsh advfirewall firewall add rule name="SSH Port 22" dir=in action=allow protocol=TCP localport=22 netsh advfirewall firewall add rule name="SSH Port 22" dir=out action=allow protocol=TCP localport=22netsh advfirewall set allprofiles state off -
Näiden palvelimien vertailut:
Bitvise SSH -palvelin
-
Tarjoaa melkein lähellä alkuperäistä
cmd-kehotetta,powershell-kehotetta, automaattista täydennystä -
Tarjoaa lisäominaisuuksia räätälöintiin, jos tarvitset edistyneempää käyttöä.
-
Käyttäjien räätälöinti yksinkertaisia tarpeita varten on 0. Aloitin siinä 2 minuutin kuluessa vietettyäni paljon aikaa yritetään saada
MobaSSHjaOpenSSHtoimimaan. -
Tiedostojen kopioiminen scp: llä käyttö:
scp ~/filename.md [email protected]:/C/Users/username/filename.md -
Ilmainen henkilökohtaiseen käyttöön, 99 dollaria ammattikäyttöön. Niin monien ominaisuuksien ja suuren integraation takia hinta on hintansa arvoinen.
MobaSSH:
-
tarjoaa Linuxin kuori Windowsissa, jossa yksinkertaiset Linux-komennot, kuten
ls,cp,findjne., työ, samanlainen kuinMINGW64 -
voit käyttää
cmdjapowershellsuoraan kirjoittamallacmdtaipowershell -
Unicode-tuki on heikko. Koodaus ei ole oikein. Jos esimerkiksi yrität käynnistää
Python-tulkin, se kaatuu. Sinun on muutettava koodaus manuaalisesti käyttämällä ( https://stackoverflow.com/a/12834315/4752883 ):chcp 65001set PYTHONIOENCONDING=utf-8ja käynnistä sitten Python-kehote -
MobaSSH: n hienoa on, että sillä on hyvin yksinkertainen käyttöliittymä ja
scpjasshja integroitu hyvin. Joten toimii yksinkertaisissa käyttötapauksissa. -
Tiedostojen kopioiminen Linux-työasemasta Windows-palvelimeen, jossa on
MobaSSH: käytäscp ~/filename.md [email protected]:/cygdrive/c/Users/username/filename.mdTämä johtuu siitä, ettäMobaSSHperustuu Cygwiniin ja sen asemat yhdistetään samalla tavallacygwin– s-asemat on yhdistetty.
Käytä Microsoftin virtuaalikoneita, joissa OpenSSHv6.7 on asennettu osoitteesta https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ , OpenSSHv6.7 on jo asennettu.
-
Se on erittäin buginen, ja sinun on mukautettava sitä voimakkaasti.
-
Komennon loppuun saattaminen ei toimi
-
Se jättää tyhjät tilat, kun siirrät kohdistinta päätelaitteessa
-
Python ei toimi
-
OpenSSH: n uudemmat versiot ovat saattaneet olla sitä parantaneet. Lisäksi MS näyttää tarjoavan OpenSSH: n saataville osoitteeseen ” Valinnaiset ominaisuudet ” https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
-
Vastaa
Jos satut käyttämään OSX: ää …
Kun yritin suorittaa sen käyttäjätunnuksella @ local: / file_directory …
Sain seuraavan virheen:
ssh: local: node name or service name not known
Ratkaisu
Mac-tietokoneellani minun piti tehdä seuraavat asetukset paikallisen ssh -asetusten määrittämiseksi:
Järjestelmäasetukset -> Internet & Verkko -> Jakaminen -> KÄYTÖSSÄ Etäkirjautuminen
Tämän jälkeen annettiin käyttäjänimi @ ip-osoite.
Vastaus
Minulla oli sama ongelma tänään MAC: ssä.
Kirjoita seuraava komento:
scp /local-file-path/ /-remote-location-path/
localuser@machineA: ssh -p 2222 username@domain(ilmaisee, että käytät ssh-komentoa koneen A lokalisoijana)scp, kaukosäätimen puolella on aina oltava kaksoispiste (esim.remotehost:/tmp), muuten se vain tekee tavallisen kopion (scp /tmp/foo.txt example.comkopioi/tmp/foo.txtpaikalliseen tiedostoonexample.com)-r-lippu, koska sitä ei tarvita yksittäisten tiedostojen kopiointiin (sitä ’ käytetään rekursiivisesti hakemistojen kopioimiseen)