两机IP分别为:A:192.168.1.240 B:192.168.1.102
假设A,B机的SSH都允许root登录
设要把 A上的 /root/abc.zip 传到 B机并放到/abc目录,可以在A机上用命令
scp /root/abc.zip root@192.168.1.102:/abc/
若 SSH端口不是默认的22,比如,是端口1234 则加-P参数:
scp -P 1234 /root/abc.zip root@192.168.1.102:/abc/
也可以在B机上用命令:
scp root@192.168.1.240:/root/abc.zip /abc/
下面给出一个例子,希望你看得懂:
[root@localhost ~]# pwd
/root
[root@localhost ~]# ls
anaconda-ks.cfg ftpaccount install.log.syslog
backup.tar.gzinstall.log svn1.4.3
[root@localhost ~]# scp backup.tar.gz root@192.168.1.21:/tmp/
The authenticity of host '192.168.1.21 (192.168.1.21)' can't be established.
RSA key fingerprint is 4d:b4:e1:5b:80:8f:ea:df:0a:eb:dd:30:e7:00:07:90.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.21' (RSA) to the list of known hosts.
root@192.168.1.21's password: <<提示输入192.168.1.21的SSH密码
backup.tar.gz 100% 5120KB 1.3MB/s 00:04
[root@localhost ~]#
scp命令 如下:scp /etc/cluster.conf 192.168.1.10:/etc/cluster.conf
192.168.1.10为目标主机。
scp命令用于 *** 作系统之间(Linux之间或者linux与windows之间)复制文件和目录。 scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。 1、从本地复制到远程 A. 复制文件命令格式 (1)scp local_file remote_username@remote_ip:remote_folder (2)scp local_file remote_username@remote_ip:remote_file (3)scp local_file remote_ip:remote_folder (4)scp local_file remote_ip:remote_file 说明: 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名; B. 复制目录命令格式: (1)scp -r local_folder remote_username@remote_ip:remote_folder (2)scp -r local_folder remote_ip:remote_folder 说明: 第1个指定了用户名,命令执行后需要再输入密码; 第2个没有指定用户名,命令执行后需要输入用户名和密码; 2、从远程复制到本地从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可。 应用实例: scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 scp -r www.runoob.com:/home/root/others/ /home/space/music/ 说明 (1)如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下: #scp 命令使用端口号 4588 scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator (2)使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。 scp命令运行过程中,涉及到SSH。SSH或Secure Shell是一种安全通信协议,用于远程连接两个 *** 作系统,以便我们可以使用命令控制台从客户端计算机控制主机。关于SSH最重要的是它能够加密连接会话,这是FTP或Telnet无法实现的,更不安全的协议,并且已经很少使用。SSH还允许将数据安全地从主机复制到客户端,并且可以使用比普通用户的会话密钥更安全的RSA密钥,我们还可以通过隧道传输文件来获得更高的安全性。使用SSH,我们可以在内部网络和完全远程连接到配置为服务器的计算机。为此,我们必须打开TCP端口22,这是默认端口。 假设这里有两台机器A、B,B是安装在虚拟机里的debian系统,在B机器上可以使用ssh登录到A机器 但是在A上使用ssh命令登录B机器时提示错误: ssh: connect to host 192.168.28.160 port 22: Connection refused 原来ssh分为ssh-client和ssh-server两部分,B设备只安装了ssh-client而没有安装ssh-server才导致上述问题。 解决方法:在B机器上安装ssh-server,apt-get install ssh-server 然后在A上执行ssh root@192.168.28.160却提示了另外一个waring: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 在网上搜了一下发现出现这个warning是因为对端重新的ssh服务出现变动所致。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)