如何利用powershell向远程linux服务器传输文件
使用scp命令就可以了
如果你用powershell登录一台linux机器,需要往另外一台linux机器传输文件
可以用下面的命令
scp filename remotehost:/tmp
远程传输文件的步骤:
要进行远程桌面连接,首先要在相互的电脑上启用远程连接功能,并且配置防火墙和供相关远程连接的账号和密码,如下图:
点“开始”→“所有程序”→“附件”→“远程桌面连接”或者按住:Win键+R,输入mstsc 如图:
输入要连接的主机IP地址
打开“选项“下拉框,在常规选项中,还可以把此次远程连接用的配置信息保存为一个RDP文件,以便下次直接打开远程连接到计算机如下图:
切换到“本地资源”选项卡,点击“本地资源和设备”下的详细信息
假如要传送的文件在“H盘”,那么在驱动器下面将H盘打钩即可。而且还支持U盘的中远程数据的传送哦,如下图:
都配置好之后,就点击“连接”按钮,此时会弹出一个特别的警告信息,这个警告信息和平常所见的不一样。此警告信息告诉用户远程计算机可以访问本机资源,请确保此远程计算机受信任,如下图:
点击“连接”,在弹出的警告窗口中,点击“是”,开始远程连接。在验证窗口中输入之前配置好的用户名和密码进行登录。如下图:
打开“我的电脑”会发现多了一个盘符。把鼠标移到上面会提示“远程桌面连接的磁盘上”。此时我们可以把文件放到这个磁盘中以便传给远程计算机,当然远程计算机也可以把文件放到这个磁盘中传给本地计算机。这样就实现了,利用远程桌面连接传送文件的目地啦!而且很方便!如下图:
注意事项
由于远程电脑可以直接访问本地电脑上的磁盘,所以要配置高强度的密码以确保安全。
首先,开始/运行,在运行中输入指令mstsc(这是自带的远程访问(图型界面)命令),点击确定;
然后,在弹出的对话框中输入连接的远程计算机的名称;
其次,单击选项,找到本地资源选项卡,点击详细信息,勾选驱动器,单击连接;
最后,可以在远程机器上复制东西了,右键后也有了粘贴的选项,想怎么复制就怎么复制
点击开始---------->程序---------->附件---------->远程桌面连接(或者Win + R,输入mstsc),打开“远程桌面连接”菜单;
点击“选项”按钮,打开远程连接选项卡;
选择“本地资源”选项卡,在“本地设备和资源”中点“详细信息”
选中“磁盘驱动器”复选框,需要复制哪个盘的内容就选中哪个,确定后再点击“连接”按钮;
会提示安全警告,我们点击确认就可以了,输入用户名和密码,就可以登陆远程桌面了。然后在远程服务器访问本地文件即可。
可以通过JDK自带的API实现,如下代码:
package comcloudpowerutil;
import javaioFile;
import javaioFileInputStream;
import javaioFileOutputStream;
import javaioIOException;
import sunnetTelnetInputStream;
import sunnetTelnetOutputStream;
import sunnetftpFtpClient;
/
Java自带的API对FTP的操作
@Title:Ftpjava
/
public class Ftp {
/
本地文件名
/
private String localfilename;
/
远程文件名
/
private String remotefilename;
/
FTP客户端
/
private FtpClient ftpClient;
/
服务器连接
@param ip 服务器IP
@param port 服务器端口
@param user 用户名
@param password 密码
@param path 服务器路径
@date 2012-7-11
/
public void connectServer(String ip, int port, String user,
String password, String path) {
try {
/ 连接服务器的两种方法/
//第一种方法
// ftpClient = new FtpClient();
// ftpClientopenServer(ip, port);
//第二种方法
ftpClient = new FtpClient(ip);
ftpClientlogin(user, password);
// 设置成2进制传输
ftpClientbinary();
Systemoutprintln("login success!");
if (pathlength() != 0){
//把远程系统上的目录切换到参数path所指定的目录
ftpClientcd(path);
}
ftpClientbinary();
} catch (IOException ex) {
exprintStackTrace();
throw new RuntimeException(ex);
}
}
public void closeConnect() {
try {
ftpClientcloseServer();
Systemoutprintln("disconnect success");
} catch (IOException ex) {
Systemoutprintln("not disconnect");
exprintStackTrace();
throw new RuntimeException(ex);
}
}
public void upload(String localFile, String remoteFile) {
thislocalfilename = localFile;
thisremotefilename = remoteFile;
TelnetOutputStream os = null;
FileInputStream is = null;
try {
//将远程文件加入输出流中
os = ftpClientput(thisremotefilename);
//获取本地文件的输入流
File file_in = new File(thislocalfilename);
is = new FileInputStream(file_in);
//创建一个缓冲区
byte[] bytes = new byte[1024];
int c;
while ((c = isread(bytes)) != -1) {
oswrite(bytes, 0, c);
}
Systemoutprintln("upload success");
} catch (IOException ex) {
Systemoutprintln("not upload");
exprintStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
isclose();
}
} catch (IOException e) {
eprintStackTrace();
} finally {
try {
if(os != null){
osclose();
}
} catch (IOException e) {
eprintStackTrace();
}
}
}
}
public void download(String remoteFile, String localFile) {
TelnetInputStream is = null;
FileOutputStream os = null;
try {
//获取远程机器上的文件filename,借助TelnetInputStream把该文件传送到本地。
is = ftpClientget(remoteFile);
File file_in = new File(localFile);
os = new FileOutputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = isread(bytes)) != -1) {
oswrite(bytes, 0, c);
}
Systemoutprintln("download success");
} catch (IOException ex) {
Systemoutprintln("not download");
exprintStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
isclose();
}
} catch (IOException e) {
eprintStackTrace();
} finally {
try {
if(os != null){
osclose();
}
} catch (IOException e) {
eprintStackTrace();
}
}
}
}
public static void main(String agrs[]) {
String filepath[] = { "/temp/aatxt", "/temp/registlog"};
String localfilepath[] = { "C:\\tmp\\1txt","C:\\tmp\\2log"};
Ftp fu = new Ftp();
/
使用默认的端口号、用户名、密码以及根目录连接FTP服务器
/
fuconnectServer("127001", 22, "anonymous", "IEUser@", "/temp");
//下载
for (int i = 0; i < filepathlength; i++) {
fudownload(filepath[i], localfilepath[i]);
}
String localfile = "E:\\号码txt";
String remotefile = "/temp/哈哈txt";
//上传
fuupload(localfile, remotefile);
fucloseConnect();
}
}
0条评论