어떻게 Android 에서 scp 작업 을 실현 합 니까?
SSH
SSH 는 원 격 로그 인 세 션 과 다른 네트워크 서비스 에 안전성 을 제공 하 는 프로 토 콜 로 쉽게 말 하면 네트워크 프로 토 콜 이다.Liux 의 표준 설정 입 니 다.Liux 장치 간 통신 에 사용 합 니 다.
SCP
SCP 는 SSH 를 기반 으로 파일 암호 화 복 사 를 완료 하 는 프로 토 콜 이다.SSH 를 사용 하여 신분 인증 을 하여 데이터 전송의 진실성 과 신뢰성 을 확보 하 다.
SCP 기본 값 은 TCP 포트 22 를 통 해 실 행 됩 니 다.
SCP 프로그램 상용 문법:
//
scp SourceFile user@host:directory/TargetFile
//
scp user@host:directory/SourceFile TargetFile
scp -r user@host:directory/SourceFolder TargetFolder
//
scp user@host:directory/SourceFile TargetFile
scp -r user@host:directory/SourceFolder TargetFolder
SFTPSFTP 도 SSH 보안 파일 전송 프로 토 콜 기반 이다.FTP 기반 과 달리 FTP 는 Tcp 기반 으로 사용자 정 보 를 명문 으로 전송 합 니 다.안전성 이 비교적 떨어진다.
Android 에서 SCP 사용
가 니 메 드-ssh 2 jar 패키지 다운로드
<!-- https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 -->
<dependency>
<groupId>ch.ethz.ganymed</groupId>
<artifactId>ganymed-ssh2</artifactId>
<version>build210</version>
</dependency>
공식 다운로드 주소
public class Scp {
private volatile static Scp scpInstance;
private String user;
private String pass;
private String host;
private Connection connection;
private SCPClient scpClient;
private Boolean isAuthed;
private Scp(String user, String pass, String host){
this.user = user;
this.pass = pass;
this.host = host;
}
public static Scp getScpUtilsInstance(String user, String pass, String host){
if(scpInstance == null) {
synchronized(Scp.class) {
if(scpInstance == null) {
scpInstance = new Scp(user,pass,host);
}
}
}
return scpInstance;
}
public void connect(){
connection = new Connection(host);
try {
connection.connect();
isAuthed = connection.authenticateWithPassword(user,pass);
// scp
scpClient = connection.createSCPClient();
} catch (IOException e) {
e.printStackTrace();
close();
}
}
public void close(){
connection.close();
sftPv3Client.close();
}
public boolean getIsAuthed(){
return isAuthed;
}
//
public void putFile(String filePath,String aimPath){
try {
if(scpClient != null){
scpClient.put(filePath,aimPath);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Scp scp = Scp.getScpUtilsInstance("root","psd","192.168.199.3");
scp.connect();
if(scp.getIsAuthed()){
for(int i = 0;i<data.getLayers();i++){
scp.putFile(SlcParser.pngDirectory+"/"+i+".png","/home");
}
}
SFTP 파일 삭제
private SFTPv3Client sftPv3Client;
sftPv3Client = new SFTPv3Client(connection);
public void rmFile(String filePath){
try {
if(sftPv3Client != null){
sftPv3Client.rm(filePath);
}
} catch (IOException e) {
e.printStackTrace();
}
}
Scp scp = Scp.getScpUtilsInstance("root","psd","192.168.199.3");
scp.connect();
if(scp.getIsAuthed()){
for(int i = 0;i<10;i++){
scp.rmFile("/home/"+i+".png");
}
}
이상 은 어떻게 안 드 로 이 드 에서 scp 작업 을 실현 하 는 지 에 대한 상세 한 내용 입 니 다.안 드 로 이 드 에서 scp 작업 을 실현 하 는 지 에 관 한 자 료 는 다른 관련 글 에 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.