Um Dateien von Windows auf einen Linux Server mittels ssh zu kopieren verwendest Du den scp
oder den rsync
Befehl.
Im Explorer klicke mit der rechten Maustaste auf das Verzeichnis und wähle „In Terminal öffnen“ aus. DOrt gibst Du dann einfach den scp Befehl ein und nach aufforderung auch das Passwort.
scp dateiname username@server.domain.com:/verzeichnis_am_server
Du kannst auch mittels rsync
Dateien kopieren:
scp dateiname username@server.domain.com:/verzeichnis_am_server
scp und rsync funktionieren beide nur, wenn der SSH Zugang verfügbar ist. (wenn Du Dich per SSH einloggen kannst)
Nur in Eine Richtung?
Zunächst musst Du einen Benutzer anlegen. Unter Ubuntu machst Du das so:
adduser --shell /bin/false mynewuser
Es wird daraufhin automatisch ein Verzeichnis /home/mynewuser/
angelegt. Der Nutzer kann sich nicht mittels ssh anmelden.
Damit der sfpt server das home-Verzeichnis als root für den user mynewuser akzeptiert musst du das ownership ändern:
chown root /home/mynewuser
Nun muss der interne sftp server konfiguriert werden. Öffne die konfig datei mit dem Befehl:
nano /etc/ssh/sshd_config
und suche nach der Zeile „Subsystem“ und ändere diese auf:
Subsystem sftp internal-sftp
Nun füge folgendes ans Ende der Datei an:
Match User mynewuser
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /home/mynewuser
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
State den sshd neu: service sshd restart
Nun kannst Du das ganze am lokalen server ausprobieren: sftp mynewuser@127.0.0.1
Wenn Du den Public Key vom client auf den sftp server gespielt hast:
ssh-copy-id -i ~/.ssh/id_rsa.pub mynewuser@mysftpserver.at
musst Du nicht einmal ein passwort eingeben.