SFTP:n määrittäminen ja tarkistaminen julkisen avaimen todennuksella asiakkaissa ja palvelimilla

Sivun luontipäivämäärä :

ympäristö

Windows
  • Windows 10 Pro
  • Windows Server 2019
  • Windows 7
  • Windows Server 2012 R2
AvaaSSH
  • 7.7p1
  • 8.1p1 - Beetaversio

※ Se toimii muissa versioissa, mutta sitä ei ole vahvistettu

Alun perin

Viimeksi olet määrittänyt SFTP-palvelimen varmistamaan, että salasanatodennuksen avulla voit lähettää ja vastaanottaa tiedostoja. Tällä kertaa sftp lähettää ja vastaanottaa tiedostoja julkisen avaimen todennuksen avulla.

Valmistelu etukäteen

  • Asiakkaaseen on asennettu OpenSSH-asiakasohjelma
  • Palvelimeen on asennettu OpenSSH-palvelin.
  • Palvelin käynnistää OpenSSH-palvelun ja portti 22 vapautuu.

Yksityisten ja julkisten avainten luominen asiakkaassa

Kirjaudu asiakkaaseen. Yksityisiä ja julkisia avaimia voidaan luoda myös palvelinpuolelle, mutta yksityinen avain on asiakas ja julkinen avain on palvelimen hallussa. Luo asiakaspuolelle.

Käynnistä PowerShell järjestelmänvalvojan oikeuksilla.

image

Luo tiedosto, siirry mihin tahansa kansioon, jossa on CD-komento, ja kirjoita seuraava komento:

ssh-keygen -t rsa -f id_rsa

Voit laittaa salasanan avaimeen, joten laita se tarvittaessa.

image

Jos avaimen luominen onnistuu, julkiset ja yksityiset avaimet luodaan kansioon seuraavasti: "id_rsa" on yksityinen avain ja "id_rsa.pub" on julkinen avain.

image

image

Julkisen avaimen määrittäminen palvelimeen

Kirjaudu Windowsiin palvelimen SFTP-tilillä.

Aseta luotu julkinen avain id_rsa.pub palvelimen seuraavaan kansioon. 「. Jos sinulla ei ole "ssh" -kansiota, luo sellainen. Muuta myös tiedostonimeksi "authorized_keys". (Korvaa <> käyttäjätunnuksella, jonka kirjaudut SFTP:llä.)

  • C:\Käyttäjät\< käyttäjänimi>\.ssh

image

Huomaa, että vain käyttäjät, joilla on järjestelmänvalvojia tai SFTP-käyttäjiä, voivat käyttää tätä tiedostoa. Sftp-yhteydet epäonnistuvat aina, jos muilla käyttäjillä on käyttöoikeus. Esimerkiksi NG:llä on käyttöoikeuksiin käyttäjä- tai Kaikki-ryhmä.

Tässä esimerkissä". Ssh-kansion käyttöoikeudet ovat "Group:SYSTEM", "Group: Administrators" ja "User: sftptest". Jos et voi poistaa käyttöoikeutta, poista käyttöoikeuksien periytyminen käytöstä.

Julkisen avaimen todennuksen ottaminen käyttöön palvelimessa

Kirjaudu palvelimeen järjestelmänvalvojien käyttöoikeuksien käyttäjillä ja avaa sitten seuraavat kansiot:

  • C:\ProgramData\ssh

Koska on olemassa tiedosto nimeltä "sshd_config", kopioi se ja muuta tiedoston nimi "sshd_config_default" ja määritä varmuuskopio.

image

Avaa "sshd_config" tekstieditorissa, joka on käynnistetty järjestelmänvalvojan oikeuksilla.

Voit ottaa julkisen avaimen todennuksen käyttöön seuraavasti:

#PubkeyAuthentication yes

↓↓↓

PubkeyAuthentication yes

Salasanan todennus on myös oletusarvoisesti käytössä, joten jos haluat poistaa sen käytöstä, muuta se seuraavasti.

#PasswordAuthentication yes

↓↓↓

PasswordAuthentication no

Haluan sijoittaa julkisen avaimen kullekin SFTP-tilille, joten kommentoin seuraavaa riviä:

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

↓↓↓

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Jos haluat määrittää pääkansion kullekin SFTP-tilille, lisää seuraava rivi: Sen mukaan, määritätkö tämän vai et, kun määrität kansiopolun asiakkaasta, se voi muuttua muotoon "C:\xxxxx" tai "/xxxxx".

Match User <ユーザー名>
       ChrootDirectory <フォルダパス>

esimerkki

Match User TestUser
       ChrootDirectory C:\Users\TestUser

Kun olet tallentanut sshd_config, käynnistä OpenSSH-palvelin uudelleen.

image

Tiedostojen lähettäminen ja vastaanottaminen asiakkailta, joilla on julkisen avaimen todennus

Sijoita luomasi id_rsa -avain ennen yhteyden muodostamista SFTP:hen kansioon, joka on vain SFTP:tä käyttävän käyttäjän käytettävissä. Huomaa, että sftp-yhteydet epäonnistuvat, jos ne sijoitetaan kansioon, jota muut käyttäjät voivat käyttää. Varsinkin jos kansiolla on Käyttäjät- ja Kaikki-ryhmien käyttöoikeudet, se on NG.

Pohjimmiltaan se on suositeltavaa, koska se viittaa automaattisesti polkuun, jos laitat sen seuraavaan kansioon.

  • C:\Käyttäjät\< käyttäjänimi>\.ssh

Asiakkaan ". Ssh-kansion käyttöoikeudet ovat "Group:SYSTEM", "Group: Administrators", "User: < Login user >".

Jos haluat käyttää sftp:tä yksityisellä avaimella, kirjoita komento seuraavasti (korvaa <>): Jos olet määrittänyt tunnuslauseen, kirjoita myös tunnuslause.

sftp -i id_rsa <ユーザー名>@<サーバー名>

image

Jos kirjaudut sisään onnistuneesti, sinut vaihdetaan kirjautuneen käyttäjän näyttöön.

image

Voit myös tarkistaa, että voit kirjautua sisään dir-komennolla.

image

Nyt kun olet valmistellut tiedoston nimeltä "test3.txt", lähetä tiedosto put-komennolla.

put c:\temp\test3.txt

image

Jos tarkastelet palvelinpuolen C:\Users\sftptest-kansiota, näet, että test3.txt tiedosto lähetetään.

image

Yritä saada asiakas.

get test3.txt c:\temp\test4.txt

image

Pystyin vahvistamaan, että tiedosto saatiin.

image

Yhteenveto

SFTP pystyi lähettämään ja vastaanottamaan tiedostoja julkisen avaimen todennuksen avulla. Käyttämällä julkista avainta palvelinpuoli ei voi tietää salasanaa. Sen avulla voit vaihtaa tiedostoja turvallisemmin kuin salasanan todennus.