美文网首页
ssh和scp的简单使用

ssh和scp的简单使用

作者: 胖虎很可爱 | 来源:发表于2018-04-20 16:04 被阅读0次

    SSH 客户端的简单使用:

    使用ssh客户端远程登录到指定的计算机

    $ ssh [-p port] user@remote

    • user 是在远程机器上的用户名,如果不指定的话默认为当前用户
    • remote 是远程机器的地址,可以是 IP域名,或者是 后面会提到的别名
    • portSSH Server 监听的端口,SSH 服务器的默认端口号是 22,不指定则使用默认端口号

    提示:

    • 使用 exit 退出当前用户的登录
    • 在工作中,SSH 服务器的端口号很有可能不是 22,如果遇到这种情况就需要使用 -p 选项,指定正确的端口号,否则无法正常连接到服务器

    scp(掌握)

    • scp 就是 secure copy,是一个在 Linux 下用来进行 远程拷贝文件 的命令
    • 既可以将本地内容拷贝到远程计算机,也可以将远程计算机内容拷贝到本地
    命令 对应英文 作用
    scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件
    选项 含义
    -r 若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
    -P 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口
    • 它的地址格式与 ssh 基本相同需要注意的是,在指定端口时用的是大写的 -P 而不是小写的
    • IP地址的**:** 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
    # 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
    scp -P port 01.py user@remote:Desktop/01.py
    
    # 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
    scp -P port user@remote:Desktop/01.py 01.py
    
    # 加上 -r 选项可以传送文件夹
    # 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
    scp -r demo user@remote:Desktop
    
    # 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
    scp -r user@remote:Desktop demo
    

    注意:

    • scp 这个终端命令只能在 Linux 或者 UNIX 系统下使用
    • 如果在 Windows 系统中,可以安装 PuTTY,使用 pscp 命令行工具或者安装 FileZilla 使用 FTP 进行文件传输

    SSH 高级:

    • 免密码登录
    • 配置别名

    提示:有关 SSH 配置信息都保存在用户家目录下的 .ssh 目录下

    1)免密码登录

    步骤
    • 配置公钥
      • 执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可
    • 上传公钥到服务器
      • 执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
    示意图

    非对称加密算法

    • 使用 公钥 加密的数据,需要使用 私钥 解密
    • 使用 私钥 加密的数据,需要使用 公钥 解密

    2) 配置别名

    每次都输入 ssh -p port user@remote,时间久了会觉得很麻烦,特别是当 user, remoteport 都得输入,而且还不好记忆

    配置别名 可以让我们进一步偷懒,譬如用:ssh ubuntu 来替代上面这么一长串,那么就在本地计算机~/.ssh/config 里面追加以下内容:

    Host ubuntu
        HostName 服务器ip地址
        User python
        Port 22
    
    

    保存之后,即可用 ssh ubuntu实现远程登录了,scp 同样可以使用

    相关文章

      网友评论

          本文标题:ssh和scp的简单使用

          本文链接:https://www.haomeiwen.com/subject/wdczkftx.html