SSH 和 SCP

SSH是一种安全协议,用于远程连接到Linux服务器,提供加密的数据传输和防止信息泄露。SCP基于SSH,用于安全地在本地和远程服务器之间复制文件。SSH默认端口是22,可以通过`ssh user@host`连接,`scp`命令则用于文件传输。高级技巧包括设置免密码登录和配置别名,通过公钥认证实现无密登录,简化命令使用。
摘要由CSDN通过智能技术生成

建议先阅读Linux文件系统,了解Linux的文件目录

SSH 和 SCP

序号命令对应英文作用
01ssh user@ipsecure shell远程登录服务器
02scp user@ip:文件名或路径 user@ip:文件名或路径secure copy远程复制文件

ssh基础

在通过ssh可以连接到运行了ssh服务器的远程机器上

  • SSH 客户端 算是一种使用Secure Shell(SSH)协议连接到远程计算机的应用程序
  • SSH是目前比较可靠,专为远程登录会话和其他网络服务提供安全性的协议
    • 利用SSH协议可以有效防止远程管理过程中的信息泄露
    • 通过SSH协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗
  • SSH的另一项优点是传输的数据是经过压缩的,所以可以加快传输的速度

1) 域名和端口号

域名

  • 有一串用点分隔的名字组成,例如www.liulinlong.cn
  • IP地址的别名,方便用户记忆

端口号

  • IP地址:通过IP地址找到网络上的计算机
  • 端口号:通过端口号可以找到计算机上运行的应用程序
    • SSH服务器的默认端口号是22,如果是默认端口号,在连接的时候,可以省略
  • 常见服务端口号列表:
    序号服务端口号
    01SSH服务器22
    02Web服务器80
    03HTTPS443
    04FTP服务器21

2)SSH客户端的简单使用

ssh [-p port] user@remote

  • user是在远程服务器上的用户名,如果不指定的话默认当前用户
  • remote是远程服务器的地址,可以是IP/域名,或者是别名
  • portSSH Server监听的端口,如果不指定,就默认22

Linux中只有用户和文件,没有盘符的概念!!!

提示:

  • 使用exit退出当前用户的登录

注意:

  • ssh着命令只能在LinuxUNIX系统下使用,macOS可以
  • 如果在Windows系统中,可以安装PuTTY或者XShell客户端软件使用,PuTTYXShell都是免费的
  • 据说现在Windows 10自带的Power Shell已经支持ssh

提示:

  • 在工作中,SSH服务器的端口号很有可能不是22,如果这样,需要使用-p选项指定正确的端口号,否则无法正常连接到服务器

scp

cp可在本地拷贝文件,而scp可以与远程服务器交互
它的地址格式与ssh基本相同,但是需要注意的是,指定端口使用大写-P而不是小写的

# 把本地当前目录下的01.py文件 复制到 uancheng 家目录下的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 -P port -r demo user@remote:Desktop
# 把远程家目录下的Desktop文件夹 复制到 当前目录的demo文件夹
scp -r user@remote:Desktop demo
# 注意 是把Desktop复制过来,并把文件夹重命名为demo

SSH高级(初建服务器必备)

  • 免密码登录
  • 配置别名

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

1) 免密码登录

步骤

  • 配置公钥
    • 在本地.ssh目录下执行ssh-keygen生成SSH钥匙,回车确认即可
  • 上传公钥到服务器
    • 执行 ssh-copy-id -p port user@remote

    其实就是 scp id_rsa.pub user@remote:.ssh/authorized.key

    • 会要求输入user的密码

免密码登录原理

  • 非对称加密算法
    • 本地使用私钥对数据进行加密/解密
    • 服务器使用公钥对数据进行加密/解密

2) 配置别名
~/.ssh/config追加以下内容

Host 别名
  HostName ip地址
  User 用户名
  Port 端口号

保存后就可以使用 ssh 别名 实现远程登录了,scp同样适用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值