shell上传文件命令
主要步骤如下:1.为运行shell脚本的本地用户生成密钥对
2.将其中的公钥分发到sftp欲登录的远程服务器上
3.编写并以上面的本地用户运行shell脚本
一.生成密钥对
在shell脚本中使用sftp时必须用到密钥对(公钥和私钥).可使用下列方式生成(SSH 2.X版本),这里本地用户记为:local_user:
$ ssh-keygen -dsa
屏幕提示:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/local_user/.ssh/id_dsa):
# 按回车保存为: /home/local_user/.ssh/id_dsa,即当前用户local_user的私钥
Enter passphrase (empty for no passphrase):
# 按回车,表示读取密钥时不需要密钥的密码
Enter same passphrase again:
# 确认密钥的密码,必须和上面的输入相同
Your identification has been saved in /home/local_user/.ssh/id_dsa.
# 私钥保存信息
Your public key has been saved in /home/local_user/.ssh/id_dsa.pub.
# 公钥保存信息
The key fingerprint is:
ec:41:e8:08:38:0b:f8:1e:bc:92:98:32:fc:d7:69:7d ...
# 密钥指纹
二.分发公钥
为了使用密钥,必须将公钥分发到欲登录的远程服务器上,这里远程服务器记为remote_host,欲登录的远程用户记为remote_user
1.公钥到欲登录的远程服务器的远程用户的家目录下,例如:
id_dsa.pub到remote_host:/home/remote_user/.ssh/
若目录/home/remote_user/.ssh/不存在,请先创建之.
2.将来的公钥文件改名为authorized_keys
3.修改公钥文件的访问权限
chmod 644 authorized_keys
三.示例
目标:
从远程服务器remote_host:/home/remote_user/data/
传送下列文件到本地计算机的当前目录: /home/local_user/data/:
20050201
20050202
20050203
20050204
20050205
方式1: 批模式
sftp提供了一个选项-b,用于集中存放sftp命令(该选项主要用于非交互模式的sftp).因此对于上面的目标,可以生成如下的命令文件:
cd /home/remote_user/data/
lcd /home/local_user/data/
-get 20050201 .
-get 20050202 .
-get 20050203 .
-get 20050204 .
-get 20050205 .
quit
这里存为: sftp_cmds.txt
说明: get命令前加一个"-"以防止其执行错误时sftp执行过程被终止.
以下为脚本示例:
#!/bin/sh
sftp -b ./sftp_cmds.txt remote_user@remote_host
方式二:
#!/bin/sh
sftp remote_user@remote_host << EOF
cd /home/remote_user/data/
lcd /home/local_user/data/
-get 20050201 .
-get 20050202 .
-get 20050203 .
-get 20050204 .
-get 20050205 .
quit
EOF
B. 怎么用xshell5 向linux系统传输文件
对于Linux用户来说,经常会使用到Xshell这个远程管理软件,比如会借助Xshell向Linux服务器上传文件,那么作为新手,肯定还不知道怎么操作,下面就来给大家介绍用Xshell
5+lrzsz实现Windows客户端向Linux服务器上传文件,实现文件的快速上传。
具体步骤如下:
步骤一:登录Linux服务器。打开Xshell,新建会话输入相应的主机名称和IP,登录Linux服务器。
图7:选择上传的文件
以上就是给大家介绍的用Xshell向Linux服务器上传文件的方法,主要借助lrzsz实现Windows客户端向Linux服务器上传文件,从而实现快速上传文件。
C. 怎样在SecureCRT的shell里用命令上传下载文件(转)
SecureCRT记住密码的功能容易设置,于是偶这懒人,后来习惯了用SecureCRT,但其上传文件功能偶一直没弄明白过。之前一直用的是pshell,因为pshell有个功能强大的secureftp功能,打开之后,直接将目录或文件拖到此窗口即可。SecureCRT却没有那么方便。 1.在shell里直接使用命令 首先最好设置好本地与远程主机传输文件的目录,因为使用命令下载文件时是不会提示选择下载的目标目录的。 设置方法:本地目录在 选项-》会话选项-》SFTP标签 的本地目录里设置。 目录设置好之后就可以使用命令上传和下载文件了 上传命令:rz rz输入后SecureCRT会打开一个文件选择对话框,供用户选择需上传的文件 下载命令:sz 可用sz -h 查看sz更多选项 用法很简单,但是可惜,使用这两命令不能传输目录,只能是文件。 2.使用SecureCRT的SFTP功能 在已连接的远程主机标签上点击右键选择连接SFTP标签页即可建立SFTP的连接,这是一个使用命令的连接会话不提供图形界面。 目录转换:远程主机上: 可以使用所有shell中的目录和文件操作命令:ls,pwd,cd等等来对 远程主机上的目录进行更改操作,不能使用vi等文件编辑工具 本地主机上:对本地目录进行操作需在以上命令前加上"l",即 ls-》lls,pwd-》lpwd,cd-》lcd文件传输上传文件: put file 上传目录:put -r dir 下载文件: get file 下载目录:get -r dir 注:这里file可以使用*等通配符 如果是通过通道机登录的某远程主机,则SFTP就不可用了。例如通过10.10.20.124登录的60.25.21.148,操作是在60.25.21.148上,直接右键建立SFTP连接是建立不起来的,因此只能使用上面的sz和rz的命令操作。
D. mac怎么向shell里上传文件
打开终端先,然后输入【scp】。
E. 使用shell脚本批量上传文件
1、设置ssh无密码访问
2、用scp -R ,例如
scp -R /root/tmp root@server:/root
3、或者用rsync命令,例如
#!/bin/sh
/usr/bin/rsync -av '-e ssh -p 22' [email protected]:/root/tmp /root/
F. xshell怎么上传文件到服务器
对于Linux用户来说,经常会使用到Xshell这个远程管理软件,比如会借助Xshell向Linux服务器上传文件,那么作为新手,肯定还不知道怎么操作,具体步骤如下:
步骤一:登录Linux服务器。打开Xshell,新建会话输入相应的主机名称和IP,登录Linux服务器。
图6:选择上传的文件
按照上面的步骤操作,就可以使用Xshell上传文件到服务器了,主要借助lrzsz实现Windows客户端向Linux服务器上传文件,从而实现快速上传文件,更多使用技巧可以访问Xshell中文官网。
G. 怎样用xshell把文件从一台服务器传到另一台服务器
SFTP是基于SSH的文件传输协议,与ZMODEM相比具有更加安全且更为快速的文件传输功能。您可以使用sftp的命令从本地Xshell提示转移文件。
1、 使用以下的sftp命令连接到服务器,文件将被转移:
sftp [user@]host [port]
Example of command line)
Xshell> sftp myhostname
Xshell> sftp myusername@myhostname
Xshell> sftp myusername@myhostname 12345
2、 sftp提示,“帮助”命令列出一组可用的sftp命令:
3、 以下是上传文件的样本操作:
1)使用的cd命令搬到一个你想上传文件的目录。 (服务器)
2)使用“液晶”命令搬到一个目录文件,将上传、保存。 (窗口)
3)检查文件名用“get”命令。
4)开始上传用“put”命令。
如果已经安装Xftp, Xshell可以创建一个Xftp会话,可以更容易和更安全的完成文件传输。
H. linux redhat怎么用xshell上传本地文件
一、使用工具:xshell、linux redhat。
二、上传步骤:
1、连接设置(linux客户端)
三、注意事项:
1.正确填写用户名和密码;
2.在ZMODEM 添加上图设置
I. 如何通过xshell 来上传文件至linux
1、通过Xshell终端连接Linux服务器,进入要上传文件目录,如文件上传到usr目录,则先进入usr目录