• 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下相互传送传文件命令方式的一种。

    本地->远端(复制文件):
    scp LocalFile UserName@RemoteIP:RemoteFile
    本地->远端(复制目录):
    scp -r LocalFolder UserName@RemoteIP:RemoteFolder
    远端->本地(复制文件):
    scp UserName@RemoteIP:RemoteFile LocalFile
    远端->本地(复制目录):
    scp -r UserName@RemoteIP:RemoteFolder LocalFolder
    远端->远端(复制文件,从1复制到2) :
    scp UserName1@RemoteIP1:RemoteFile1 UserName2@RemoteIP2:RemoteFile2
    远端->远端(复制目录,从1复制到2):
    scp -r UserName1@RemoteIP1:RemoteFolder1 UserName2@RemoteIP2:RemoteFolder2


    一、推送式:首先登陆到本机,将本机的文件推送到远程主机。
    命令格式:
    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。

  • 相关阅读:
    直接用ISO文件在linux上安装新系统
    vsftpd config备忘
    失恋那回事~~~
    Java之深入JVM(0) 序
    No.6 ThreadLocal类及应用技巧
    Java之多线程(1) Race Condition引起的性能问题
    NO.10 Callable与Future的应用
    NO.5 线程范围内共享变量的概念与作用(二)
    NO.5 线程范围内共享变量的概念与作用(一)
    NO.7多个线程之间共享数据的方式探讨
  • 原文地址:https://www.cnblogs.com/chenjunjie/p/4000228.html
Copyright © 2020-2023  润新知