scp

转转

https://www.cnblogs.com/Leonardo-li/p/8084588.html

 

Linxu之间如何互相传送文件?

1.scp命令的简介和优点:
(1) scp是(secure copy)的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。
(2)当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。
(3)另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

 

2.从linux本机文件上传到另一台linux
格式:
scp 要传的文件 root@目标ip:路径
scp –r 要传的目录 root@目标ip:路径

例子:
[root@lpc ~]# scp /root/1.txt root@192.168.3.1:/root //上传文件
[root@lpc ~]# scp -r /root/data root@192.168.3.1:/root //上传目录

 

3.从linux下载文件到linux本机:
格式:
scp root@192.168.3.1:/root/data /root
scp命令 用户名@目标IP地址:文件路径 本地位置

例子:
[root@lpc ~]# scp root@192.168.3.1:/root/1.txt /root //下载文件
[root@lpc ~]# scp -r root@192.192.3.1:/root/data /root //下载目录

注意:Linux的IP,以及需要复制,上传和下载的目录需根据自己的实际情况来定!!!

Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法–转载

Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法

 

 

前期准备

1、秘钥对

这里以Xshell为例,菜单栏->工具->新建秘钥向导,下一步下一步生成公钥和私钥,可以将它们全部导出成文件。

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

2、创建一台新的实例,东京韩国现在应该没有资源了,可以创建一个收费的实例

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

如图示所示的实例配置就是收费,不带mirco后缀

3、Xshell使用上面的私钥opc用户登录已经创建的这台服务器,sudo -i可以切换root用户,供后面使用

重置登录不上服务器秘钥

1、停止之前登录不上的终免服务器,Tips:注意是停止服务器,不是终止!!!待会还需要启动

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

2、分离这台服务器的引导卷,停止服务器后,可以在下面分离引导卷,稍后会将这台服务器挂载到上面我们已经创建的收费服务器进行秘钥修改。

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

3、切换至收费服务器的细节页面,将已经分离的引导卷重新附加到收费服务器

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

4、点击附加后的选项查看iSCSI命令

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

5、切换到Xshell收费服务器控制台,依次执行上图中红框命令,执行:

fdisk -l /dev/sdb

如果查看到磁盘信息,应该就已经附加成功。

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

6、挂载、执行如下命令

sudo mount -o nouuid /dev/sdb3 /mnt

如果此步报错,执行:

sudo mount /dev/sdb3 /mnt

7、如果到了这一步,即将就ok了,修改公钥,继续执行

sudo vi /mnt/home/opc/.ssh/authorized_keys 

键盘按两次d可以删除已有秘钥,按i键进入编辑,将上面准备的公钥文件内容,记住是公钥,全部粘贴到里面,注意空格和换行,按ESC->按住shift+两次z键,保存退出

8、解除挂载,执行命令

sudo umount /mnt

9、执行下图红框中命令,分离引导卷

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

10、网页操作界面分离

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

11、重新将这个卷挂载到终免服务器上,然后启动服务器,这样就可以使用刚刚上面生成的私钥登录这台服务器了,至此ssh秘钥修改完毕

《Oracle Cloud甲骨文云服务器忘记SSH秘钥或未设置Public key的解决办法》

VLOG丨内网穿透手把手教你自建ngrok服务器,从此抛弃花生壳公云等DDNS服务商–转载

https://www.vediotalk.com/archives/336

 

B站视频讲解


视频介绍

通过搭建ngrok内网穿透服务器,可实现web服务器本地化,tcp、udp转发、微信开发等


所需要的文件:下载所需文件

What?

ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。简单来说就是可以让你的本地服务暴露在外网上面,可以通过外网访问,这是我们经常需要用到的功能。

Why?

作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供它人体验评价或协助调试等等,通常我们会这么做:

  • 找到一台运行于外网的Web服务器
  • 服务器上有网站所需要的环境,否则自行搭建
  • 将网站部署到服务器上
  • 调试结束后,再将网站从服务器上删除
  • 只不过是想向朋友展示一下网站而已,要不要这么麻烦,累感不爱

在国内开发微信公众号、企业号以及做前端开发的朋友想必对ngrok都不陌生吧,就目前来看,ngrok可是最佳的在内网调试微信服务的tunnel工具。之前,ngrok.com提供的服务还一切正常,后来就被墙了 。没有了ngrok tunnel,一切开始变得困难且没有效率起来。内网到外部主机部署和调试是一件慢的让人想骂街的事情。后来就想着自己搭一个ngrok服务。

How?

如何搭建ngrok服务呢?

下面是我在阿里云centOS7上面的搭建过程。


准备工作:

1、一台拥有公网ip的服务器或者vps
2、把需要做的主域名解析到服务器上面
软件下载地址:
go的下载地址:http://www.golangtc.com/download
git的下载地址:http://git-scm.com/downloads 绝对下载地址:https://www.kernel.org/pub/software/scm/git/git-2.6.0.tar.gz
ngrok克隆地址:https://github.com/inconshreveable/ngrok.git
准备映射的域名:ngrok.10086ol.com


一、域名泛解析


二、go环境搭建

go环境安装可以通过源码安装或安装EPEL扩展源后使用yum安装,由于使用yum安装的go不能进行交叉编译,不能够编译生成Windows客户端,所以推荐使用通过源码安装。
源码安装go的详细过程如下:

1).下载源码:

可以在http://www.golangtc.com/download 上找到自己系统对应的源码。由于我的vps系统是centos的,所以下载的是:go1.9.2.linux-amd64.tar.gz。

2).将其解压到/usr/local目录下:

wget https://www.golangtc.com/static/go/1.9.2/go1.9.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz

注:如果是64位的系统下载了32位的安装包,后面的构建会出现 /lib/ld-linux.so.2: bad ELF interpreter 类似这样的错误 解决方法:yum install glibc.i686。安装一个32bit的glibc就可以了。

3). 在root环境下执行如下命令:

mkdir $HOME/go
echo 'export GOROOT=/usr/local/go'>> ~/.bashrc
echo 'export GOPATH=$HOME/go'>> ~/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin'>> ~/.bashrc
source $HOME/.bashrc

三、安装git环境

方式一:自动安装git环境

yum install mercurial git bzr subversion

方式二:手动安装git环境(此方法可以安装git的最新版本)

1.下载编译工具

yum -y groupinstall "Development Tools"

2.下载依赖包

yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel

3.下载git最新版本源代码
登录

https://github.com/git/git/releases

查看git的最新版。不要下载带有-rc的,因为它代表了一个候选发布版本。

如图,可以看出,目前git最新的版本是2.16.3

然后进入

https://mirrors.edge.kernel.org/pub/software/scm/git/

查找到对应版本下载

wget https://www.kernel.org/pub/software/scm/git/git-2.16.3.tar.gz

4.解压

tar -zxvf git-2.16.3.tar.gz

5.进入目录配置

cd git-2.16.3
./configure --prefix=/usr/local/git

6.编译安装

make && make install

7.配置全局路径

export PATH="/usr/local/git/bin:$PATH"
source /etc/profile

8.查看git版本

git --version

四、获取ngrok源码

获取源码:

git clone https://github.com/inconshreveable/ngrok.git

如果获取源码速度较慢,可以进入https://github.com/inconshreveable/ngrok.git 下载源码到本地,上传至目录/root/ngrok


五、编译

1). 配置环境变量

cd
cd ngrok
export NGROK_DOMAIN="ngrok.10086ol.com"

ngrok.10086ol.com替换成你自己的域名

2). 生成自签名ssl证书

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

3). 替换证书

cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key

替换时系统会提示是否替换,输入“y”后回车确定替换

4).设置变量:

GOOS=linux GOARCH=amd64

如果是32位系统,这里 GOARCH=386

5).生成服务端

make release-server release-client

注:上述编译的过程会需要去github、google code下载其余依赖项目的源码,因此需要挂VPN。当然,如果VPS不能挂vpn可以在本地进行上面介绍的操作过程,然后将编译后的源码复制到vps上重新编译即可。 还有一种最简单的解决办法就是,修改源码,将需要连接google code的地址改为连接github上的地址:
找到 /root/ngrok/src/ngrok/log/logger.go ,看到里面有一个import中引用了google code,将其改为:”github.com/keepeye/log4go” 。
(在本地操作方法:
1.使用winscp进入本地centos目录,找到/root/ngrok/src里面的github.com、gopkg.in两个文件夹上传至对应目录下
2.进入root权限ssh root@192.156.35.3
3.cd ngrok
GOOS=linux GOARCH=amd64
make release-server release-client

编译之后,就会在ngrok源码的bin目录下生成两个可执行文件:ngrokd、ngrok。其中ngrokd就是ngrok的服务端程序,ngrok就是ngrok的客户端程序。由于现在生成的客户端ngrok只能在linux下运行,因此如果想要生成windows下的客户端程序,需要继续进行交叉编译。


 

六、交叉编译生成windows客户端、mac客户端

1).windows客户端编译;

进入go目录,进行环境配置

cd /usr/local/go/src/
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 ./make.bash

进入ngrok目录重新编译

cd
cd ngrok
GOOS=windows GOARCH=amd64 make release-server release-client

编译后,就会在/root/ngrok/bin目录下生成windows_amd64目录,其中就包含着windows下运行的服务器和客户端程序。

2).mac客户端编译;

进入go目录,进行环境配置

cd /usr/local/go/src/
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 ./make.bash

进入ngrok目录重新编译

cd
cd ngrok
GOOS=darwin GOARCH=amd64 make release-server release-client

编译后,就会在/root/ngrok/bin目录下生成mac客户端目录,其中就包含着windows下运行的服务器和客户端程序。

3).linux客户端编译;

进入go目录,进行环境配置

cd /usr/local/go/src/
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 ./make.bash

进入ngrok目录重新编译

cd
cd ngrok
GOOS=linux GOARCH=amd64 make release-server release-client

编译后,就会在/root/ngrok/bin目录下生成mac客户端目录,其中就包含着windows下运行的服务器和客户端程序。

4).arm客户端编译;

进入go目录,进行环境配置

cd /usr/local/go/src/
GOOS=linux GOARCH=arm CGO_ENABLED=0 ./make.bash

进入ngrok目录重新编译

cd
cd ngrok
GOOS=linux GOARCH=arm make release-server release-client

编译后,就会在/root/ngrok/bin目录下生成mac客户端目录,其中就包含着windows下运行的服务器和客户端程序。


 

七、ngrokd服务启动与使用

1).启动ngrokd服务端

临时启动:

cd ngrok
bin/ngrokd -domain="ngrok.10086ol.com" -httpAddr=":80"

注:ngrok.10086ol.com更换为你自己的域名

后台一直运行启动:

cd ngrok
nohup bin/ngrokd -domain="ngrok.10086ol.com" -httpAddr=":80" &

注:ngrok.10086ol.com更换为你自己的域名
想要结束后台进程
ps -A #找到PID
kill xxx

2).启动ngrokd客户端

创建ngrok.cfg配置文件

server_addr: "ngrok.10086ol.com:4443"
trust_host_root_certs: false

注:ngrok.10086ol.com更换为你自己的域名
ngrok.cfg配置文件和ngrok客户端放在本地同一文件夹内

windows客户端启动方式
1.打开CMD命令
2.如果ngrok.cfg配置文件和ngrok客户端放在本地桌面,那么输入命令

cd desktop
ngrok -config=ngrok.cfg -subdomain veecolor 80

veecolor是你自定义地址
3.如果你自己有顶级域名,想通过自己的域名来访问本机的项目,那么先将自己的顶级域名解析到你自己服务器的ip:119.29.113.146(域名需要已备案哦),然后执行 ngrok -config=ngrok.cfg -hostname xxx.xxx.xxx 80 //(xxx.xxx.xxx是你自定义的顶级域名)

Linux/Mac客户端启动方式
1.打开终端
2.如果ngrok.cfg配置文件和ngrok客户端放在本地桌面,那么输入命令

cd desktop
./ngrok -config=ngrok.cfg -subdomain=veecolor 80

veecolor是你自定义地址
3.如果你自己有顶级域名,想通过自己的域名来访问本机的项目,那么先将自己的顶级域名解析到你自己的服务器ip:119.29.113.146(域名需要已备案哦),然后执行 ./ngrok -config=ngrok.cfg -hostname xxx.xxx.xxx 80 //(xxx.xxx.xxx是你自定义的顶级域名)

看到这样以下界面就说明成功了:

4.保持后台启动

cd desktop
setsid ./ngrok -config=ngrok.cfg -subdomain=veecolor 80

 

八 、公司用代理上网,修改ngrok监听端口,并设置代理既可使用

注意:大家在看视频教程的时候,这里的域名ngrok.veecolor.com与之前的ngrok.10086ol.com,不一样是因为我在做这个节教程的时候换了域名了,不影响,大家把域名替换成你自己的就行。

1.ngrok修改端口启动:

临时启动:

cd ngrok
bin/ngrokd -domain="ngrok.10086ol.com" -httpAddr=":80" -httpsAddr=":8081" -tunnelAddr=":443"

注:ngrok.10086ol.com更换为你自己的域名
把默认端口4443修改为443,在原来的启动命令中加入-tunnelAddr=”:443″

后台一直运行启动:

cd ngrok
nohup bin/ngrokd -domain="ngrok.10086ol.com" -httpAddr=":80" -httpsAddr=":8081" -tunnelAddr=":443" &
注:ngrok.10086ol.com更换为你自己的域名
把默认端口4443修改为443,在原来的启动命令中加入-tunnelAddr=":443"

2.创建ngrok.cfg配置文件

server_addr: "ngrok.10086ol.com:443"
trust_host_root_certs: false
http_proxy: http://10.168.57.241:8088

注:ngrok.10086ol.com更换为你自己的域名
ngrok.cfg配置文件和ngrok客户端放在本地同一文件夹内
把原来的端口号4443修改为443,并加入公司代理上网地址及端口,http://10.168.57.241:8088替换为你们公司的代理地址。


九、ngrok绑定多个顶级域名、多个二级域名及转发tcp同时启动的方法

 

上次ngrok的配置教程中只讲解了配置一个二级域名及一个顶级域名的方法,这个教程教大家配置多个顶级域名、多个二级域名及转发tcp同时启动的方法。
server_addr: 服务器地址
tunnels:连接隧道
subdomain: 想服务器分配的域名
proto:转发服务
http: http模式
remote_port: 远程端口,当做tcp转发的时候如果不设置将有服务器自动分配
tcp: tcp模式
hostname: 绑定顶级域名
auth: 需要身份验证
http_proxy: 使用代理

一、配置ngrok.cfg文件

没有使用代理上网配置如下:

 

server_addr: "ngrok.10086ol.com:443"
tunnels:
  vee:
    subdomain: "vee"
    auth: "vee:admin1993"
    proto:
     http: 192.168.1.108:80
  vee1:
    subdomain: "vee1"
    proto:
     http: 192.168.1.104:80
  ssh:
    remote_port: 50000
    proto:
     tcp: 192.168.1.120:22
  test:
    hostname: "test.10086ol.com"
    proto:
     http: 80
  test1:
    hostname: "10086ol.com"
    proto:
     http: 192.168.1.104:80
  test2:
    hostname: "www.10086ol.com"
    proto:
     http: 192.168.1.104:80

在公司使用了代理上网的配置如下:

server_addr: "ngrok.10086ol.com:443"
http_proxy: http://10.168.57.241:8088
tunnels:
  test1:
    hostname: "www.10086ol.com"
    proto:
     http: 127.0.0.1:80
  test2:
    hostname: "10086ol.com"
    proto:
     http: 127.0.0.1:80

http_proxy: http://10.168.57.241:8088修改为你们公司的代理地址即可

二、启动方式

Linux/Mac 启动命令:

./ngrok -config=ngrok.cfg start vee vee1 ssh test test1 test2

Linux/Mac 后台保持启动命令:

setsid ./ngrok -config=ngrok.cfg start vee vee1 ssh test test1 test2

windows 启动命令

ngrok -config=ngrok.cfg start vee vee1 ssh test test1 test2

Download Ubuntu Desktop—–桌面版Ubuntu下载地址

https://ubuntu.com/download/desktop

下载地址

 

Ubuntu 18.04.3 LTS

 

官方

https://ubuntu.com/download/desktop/thank-you?country=CN&version=18.04.3&architecture=amd64

360浏览器复制的下载地址

http://mirrors.yun-idc.com/ubuntu-releases/18.04.3/ubuntu-18.04.3-desktop-amd64.iso

 

19.10

官方下载地址

https://ubuntu.com/download/desktop/thank-you?country=CN&version=19.10&architecture=amd64

 

以下为迅雷复制的下载地址

https://sl-m-ssl.xunlei.com/h5/page/download-share/index.html?entry=link&appType=PC&videobtindex=-1&storid=48354aa1c7

针对CentOS Linux 8和CentOS流的发行—–下载地址

原地址:

https://lists.centos.org/pipermail/centos-announce/2019-September/023449.html

立即获取种子:

http://mirror.centos.org/centos/8/isos/x86_64/CentOS-8-x86_64-1905-dvd1.torrent
SHA256 707a66357f72eb822ca113991f3bb86a1ac1ed5fbc2fa5d968ed25fb48ee985c

http://mirror.centos.org/centos/8-stream/isos/x86_64/CentOS-Stream-x86_64-dvd1.torrent
SHA256:88604a95189f91162d1f89f0ac7436f3413812506a41b8ec286baeaa833b1e91

图像,大小及其SHA256Sum的总和:

CentOS-8-x86_64-1905-boot.iso:559939584字节
SHA256 a7993a0d4b7fef2433e0d4f53530b63c715d3aadbe91f152ee5c3621139a2cbc
CentOS-8-x86_64-1905-dvd1.iso:7135559680字节
SHA256 EA17ef71e0df3f6bf1d4bf1fc25bec1a76d1f211c115d39618fe688be34503e8

CentOS-8-ppc64le-1905-boot.iso:567736320字节
SHA256 9062ae0d892126f57429c3194143e6e6e5485e5f32834e03d849bf5cf075ca7a
CentOS-8-ppc64le-1905-dvd1.iso:6376304640字节
SHA256 bfd27297da1ddc1185a08fc65e46c58efebf51b25758ff8f12d29a6214aeae39

CentOS-8-aarch64-1905-boot.iso:520048640字节
SHA256 18a211a826bd3dd4d034ddc529303bc2b5dc6e1b63ea311644d7698e7b67fb3e
CentOS-8-aarch64-1905-dvd1.iso:5150640128字节
SHA256 c950cf7599a2317e081506a3e0684f665ef9c8fe66963bf7492595d7c6ccc230


CentOS-Stream-x86_64-boot.iso:558891008字节
SHA256 e38192400212796085b7996f21828aa8f8a72d44b64059572eb8c725e13be4cc
CentOS-Stream-x86_64-dvd1.iso:8572108800字节
SHA256 559715017959f5967d2b9876bd27f46d8a740e1d02f59dfb8fd5e7114dd5cc79


iso文件也可以从以下位置直接下载
http://mirror.centos.org/centos/8/isos/x86_64http://mirror.centos.org/centos/8-stream/isos/x86_64


下载速度,亲测【学校网络】