首页 > 代码库 > ssh信任 sftp用法 scp用法【转】

ssh信任 sftp用法 scp用法【转】

为了进行批量关机工作,前提要配置好ssh的双机信任。

A机192.168.1.241

B机192.168.1.212

在A机上获取一个pub密钥,即为公共密钥。

执行这个命令后:ssh-keygen  -t  rsa

在 ~/.ssh/目录下

使用scp命令,将公钥拷贝到B机

SUSE-linux:~/.ssh # scp id_rsa.pub root@192.168.1.212:/tmp/

拷贝完成

进入B机

cd ~/.ssh/

这个目录

将A机的公钥拷贝到authorized_keys这个文件下

linux-218:~/.ssh # cat /tmp/id_rsa.pub >> authorized_keys

最后设置权限为600即可

返回到A机测试

大功告成

配置第二台机时出现一个奇葩问题

C机192.168.1.218

在用户root的家目录下没有.ssh文件夹

按照网上说法,在C机执行ssh localhost后自动生成

接下来就按照原样进行配置即可。

以上为root用户信任关系配置,若要配置普通用户信任关系,可su到对应的用户下进行以上配置即可。

 

SCP用于linux下相互传送传文件命令方式的一种。
一、推送式:首先登陆到本机,将本机的文件推送到远程主机。
命令格式:
1、 scp local_file remote_username@remote_ip:remote_folder
2、 scp local_file remote_username@remote_ip:remote_folder/remote_file
3、 scp local_file remote_ip:remote_folder
4、 scp local_file remote_ip:remote_folder/remote_file
第1,2个指定了用户名,命令执行后需要再输入密码。第1个仅指定了远程的目录,文件名字不变;
第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码。第3个仅指定了远程的目录,文件名字不变;
第4个指定了文件名;
例子: 登陆到本机(172.168.0.12),将本机文件1.mp3推送到远程主机172.168.0.13上
1、scp /home/space/music/1.mp3 root@172.168.0.13:/home/root/others/music
2、scp /home/space/music/1.mp3 root@172.168.0.13:/home/root/others/music/001.mp3
3、scp /home/space/music/1.mp3 172.168.0.13:/home/root/others/music
4、scp /home/space/music/1.mp3 172.168.0.13:/home/root/others/music/001.mp3
第1个例子是将本机/home/space/music目录下的1.mp3,推送到172.168.0.13的/home/root/others/music目录下,文件名不改变。
第2个例子是将本机/home/space/music目录下的1.mp3,推送到172.168.0.13的/home/root/others/music目录下,文件名为001.mp3。
第3个例子是将本机/home/space/music目录下的1.mp3,推送到172.168.0.13的/home/root/others/music目录下,文件名不改变。
第4个例子是将本机/home/space/music目录下的1.mp3,推送到172.168.0.13的 /home/root/others/music目录下,文件名为001.mp3。
二、拉取式:从远程复制到本机,只要把推送式中命令的后2个参数调换顺序即可。
命令格式:
1、 scp remote_username@remote_ip:remote_folder/remote_file local_folder/local_file
2、 scp remote_username@remote_ip:remote_folder/remote_file .
例子: 登陆到本机(172.168.0.12),将远程主机172.168.0.13上的1.mp3复制到本机
1、scp root@172.168.0.13:/home/root/others/music/1.mp3 /home/space/music/001.mp3
2、scp root@172.168.0.13:/home/root/others/music/1.mp3 .
第1个例子是将172.168.0.13上/home/root/others/music目录下的1.mp3,复制到本机的/home/space/music目录下,文件名为001.mp3。
第2个例子是将172.168.0.13上/home/root/others/music目录下的1.mp3,复制到本机的当前工作目录下,文件名不变。
注:如果不能直连,经过了几跳才连接到目标主机,可通过一级一级的获取得到目标文件。
例如:本机(172.168.0.12)首先连接172.168.0.13,然后再连接172.168.0.14,再连接172.168.0.15,想获取15上文件到本机12上。
拉取式:可以通过172.168.0.14拉取172.168.0.15上文件,然后在172.168.0.13拉取14的,最后在172.168.0.12上拉取13上的。
推送式:可以通过172.168.0.15推送到172.168.0.14上,然后在14上推送到172.168.0.13上,最后在13上推送到172.168.0.12上。

 

 

Linux命令之sftp
sftp命令可以通过ssh来上传和下载文件,是常用的文件传输工具,它的使用方式与ftp类似,但它使用ssh作为底层传输协议,所以安全性比ftp要好得多。   
    

常用方式   

格式:sftp <host> 
  

通过sftp连接<host>,端口为默认的22,用户为Linux当前登录用户。     
  

格式:sftp -oPort=<port> <host> 
  

通过sftp连接<host>,指定端口<port>,用户为Linux当前登录用户。     
  

格式:sftp <user>@<host> 
  

通过sftp连接<host>,端口为默认的22,指定用户<user>。   
    

格式:sftp -oPort=<port> <user>@<host> 

  

通过sftp连接<host>,端口为<port>,用户为<user>。     
  

sftp连接成功之后常用操作命令如下: 

  

help/? 打印帮助信息。 
  

pwd   查看远程服务器当前目录;   



 

lpwd  查看本地系统的当前目录。 
  

cd <dir>   将远程服务器的当前目录更改为<dir>;   

 

lcd <dir>  将本地系统的当前目录更改为<dir>。  

 

ls 显示远程服务器上当前目录的文件名; 
  

ls -l  显示远程服务器上当前目录的文件详细列表; 
  

ls <pattern> 显示远程服务器上符合指定模式<pattern>的文件名; 
  

ls -l <pattern>  显示远程服务器上符合指定模式<pattern>的文件详细列表。  

 

lls 显示本地系统上当前目录的文件名;   

 

lls的其他参数与ls命令的类似。   

 

get <file> 下载指定文件<file>; 
  

get <pattern> 下载符合指定模式<pattern>的文件。   

 

put <file> 上传指定文件<file>; 
  

get <pattern> 上传符合指定模式<pattern>的文件。   

 

progress 切换是否显示文件传输进度。   

 

mkdir <dir> 在远程服务器上创建目录;   

 

lmkdir <dir> 在本地系统上创建目录。   

 

exit/quit/bye 退出sftp。   

 

! 启动一个本地shell。 

  

! <commandline> 执行本地命令行。 
  

其他命令还有:chgrp, chmod, chown, ln, lumask, rename, rm, rmdir, symlink, version。

ssh信任 sftp用法 scp用法【转】