Linux ssh和scp命令的简单使用

SH 客户端的简单使用:

使用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地址的**:** 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径

注意:

  • 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 同样可以使用

作者:胖虎很可爱
链接:https://www.jianshu.com/p/8c0a697dd7fc
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/fppblog/p/12970926.html