installation de Windows ssh
linux lui-même utilise ssh sans installation
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
4. Configurez le service ssh
#. 🎜🎜# et ouvrez-le dans le numéro de port du port 22 du pare-feu : Entrez la commande suivante dans PowerShell :netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Démarrez le service ssh
net start sshd
Ouvrez le "Gestionnaire de serveur" dans l'ordre—— 》"Outils"——》"Services"
Entrez dans l'interface de la liste des services et recherchez le service OpenSSH SSH Server#🎜 🎜##🎜 🎜#
Faites la même chose avec l'agent d'authentification openssh dans l'image ci-dessous comme dans l'image ci-dessus. Windows fournis avec leur propre service ssh (comme Windows10) activent le service ssh1. 🎜 #Démarrer-> Applications et fonctionnalités-> Fonctionnalités facultatives-> Ajouter des fonctionnalités
Il y a une option pour le client OpenSSH dans la liste Cliquez pour installer le client OpenSSH Après l'installation, vous pouvez utiliser Windows PowerShell pour utiliser directement les commandes ssh2 Installation du serveurDémarrer-> function -> Ajouter une fonctionIl y a une option de serveur OpenSSH dans la listeCliquez pour installer le serveur OpenSSHVous devez faire ceci après l'installation du serveur Certaines configurations3. Configuration du serveurExécuter Windows PowerShell en tant qu'administrateurActiver le service SSHDStart-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Confirmez si le pare-feu est ouvert
Get-NetFirewallRule -Name *ssh*
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.4</version> </dependency>
<dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version> </dependency>
Usage
Upload
@Test void test18() { //测试目录 String linuxPath = "/var/file/test/"; //创建session连接 Session sessionLinux = JschUtil.getSession("106.12.127.40", 22,"root", "Ocean@123"); // 1.文件操作 // 建立sftp Sftp sftp = JschUtil.createSftp(sessionLinux); //进入输入目录 sftp.cd(linuxPath); //文件名称 String fileName = "Sftp创建文件夹于"+DateUtil.format(new Date(), "yyyy年MM月dd日HH时mm分ss秒"); //1.创建文件夹 sftp.mkdir(fileName); System.out.println("=========================1.远程文件操作========================="); System.out.println(fileName+",文件是否存在?"+sftp.exist(linuxPath+fileName)); //删除文件 sftp.delDir(linuxPath+fileName); System.out.println(fileName+",文件是否存在?"+sftp.exist(linuxPath+fileName)); System.out.println(); //2.上传文件 // 本地新建文件 System.out.println("=========================2.上传文件操作========================="); String localFile = DateUtil.format(new Date(), "yyyy年MM月dd日HH时mm分ss秒")+".txt"; System.out.println(localFile); FileWriter fileWriter = new FileWriter(localFile); // 写入内容 File file = fileWriter.write("123"); fileWriter.append("追加信息"); System.out.println(file.getPath()); sftp.upload(linuxPath, file); //upload方法 System.out.println("1.upload方法"); System.out.println(localFile+",文件是否存在?"+sftp.exist(linuxPath+localFile)); sftp.delFile(linuxPath+localFile); System.out.println(localFile+",文件是否存在?"+sftp.exist(linuxPath+fileName)); sftp.put(file.getPath(),linuxPath); //put方法 System.out.println("2.put方法"); System.out.println(localFile+",文件是否存在?"+sftp.exist(linuxPath+localFile)); sftp.delFile(linuxPath+localFile); System.out.println(localFile+",文件是否存在?"+sftp.exist(linuxPath+fileName)); //删除本地文件 FileUtil.del(file); }
Exécuter le résultat :
# 🎜🎜 #Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!