1 ssh

ssh一般用于连接服务器,可以使用密码认证与密钥认证的方式。

1.1 密码认证

直接使用ssh即可:

ssh username@xxx.xxx.xxx.xxx

username为用户名,后面为公网ip.

若需要使用特定端口登录,加上p参数,比如使用12345端口:

ssh -p 12345 username@xxx.xxx.xxx.xxx

1.2 密钥认证

密钥认证需要先生成密钥,然后把公钥使用scp上传到服务器,接着修改服务器的ssh配置文件。

1.2.1 生成密钥

ssh-keygen -t rsa -b 4096 -C "email" -f /xxx/id_rsa

t表示加密算法,b指定位数,C表示注释,识别这个密钥,一般用邮箱即可。f表示生成的私钥文件位置(需要加上文件名),公钥会放在同一文件夹下。

1.2.2 上传公钥

使用scp上传公钥到服务器,注意是公钥,ssh-keygen会生成一个公钥与私钥,pub结尾的文件就是公钥,默认叫id_rsa.pub .

scp /xxxx/id_rsa.pub username@xxx.xxx.xxx.xxx:/root/

这里就直接放到服务器上的/root下。

1.2.3 修改ssh配置文件

先使用ssh密码认证的方式登录服务器,然后修改/etc/ssh/sshd_config:

cd /etc/ssh
cp sshd_config sshd_config.bak
vim sshd_config

找到PubKeyAuthentication这一行,修改如下:



如果需要修改端口的,搜索Port,直接修改:



接着重启sshd服务:

systemctl restart sshd

1.2.4 测试连接

ssh -i /xxx/id_rsa -p port username@xxx.xxx.xxx.xxx

其中i后为私钥的位置,p参数如果修改了默认的端口(22)则需要加上自定义端口。

如果在windows上生成的私钥,可能会有如下问题:



这里提示私钥的权限是755,也就是其他用户可读,需要修改为600:

chmod 600 /xxx/id_rsa

如果用的是wsl可能会修改失败,需要加上wsl的配置,修改/etc/wsl.conf(如果没有就新建)

vim /etc/wsl.conf

输入:

[automount]
enabled = true
options = "metadata,umask=22,fmask=11"
mountFsTab = false

退出wsl重启,然后再修改权限,应该就没问题了。

2 scp

scp是secure copy的缩写,一般用于从服务器下载文件或上传文件到服务器,与ssh类似,可以使用密码认证或密钥认证或指定端口。

2.1 上传文件(夹)到服务器

scp localFile username@xxx.xxx.xxx.xxx:/xxxx
scp -r localDir username@xxx.xxx.xxx.xxx:/xxx

上面是密码认证的方式,密钥认证请加上i参数,指定私钥位置:

scp localFile username@xxx.xxx.xxx.xxx:/xxx
scp -i /xxx/id_rsa -r localDir username@xxx.xxx.xxx.xxx:/xxxx

需要特定端口请加上P参数(注意是大写,不是ssh的小写p端口参数)

scp -i /xxx/id_rsa -P xx localFile username@xxx.xxx.xxx.xxx

2.2 从服务器下载文件(夹)

scp username@xxx.xxx.xxx.xxx:/xxx   /localDir
scp -r username@xxx.xxx.xxx:/xxx /localDir

第一个是下载文件,第二个是下载文件夹,需要加上r参数。

同理,密钥认证加i参数,端口加P参数:

scp -i /xxx/id_rsa -P xx username@xxx.xxx.xxx.xxx:/xxx  /localDir
scp -i /xxx/id_rsa -P xx -r username@xxx.xxx.xxx.xxx:/xxx /localDir

ssh+scp基本使用的更多相关文章

  1. Linux SSh scp使用【远程文件/目录的传输】

    一:Linux ssh scp的简介及作用: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们 ...

  2. iOS逆向开发(1):基础工具 | ssh | scp | socat

    小白:小程,我一直想问,什么是逆向来着?是逆向行驶吗? 小程:理解为逆向行驶也没错.一般的项目是从无到有,而逆向是从已有的状态入手,分析出已有的流程与结构的手段. iOS上的逆向开发,是一件有趣的事情 ...

  3. 解决ssh/scp报错:Someone could be eavesdropping on you right now (man-in-the-middle attack)!

    主要现象:ssh/scp 失败,host key verification failed. # scp /home/iso/********.iso root@192.168.1.***:/home/ ...

  4. SSH SCP 远程密钥登录配置和服务器间的文件传输

    目录 ssh ssh是什么 ssh安装 使用ssh登录远程主机 退出登录 使用ssh执行单条指令 密钥验证 详细操作 scp rsync sftp 进阶 ssh ssh是什么 ssh (Secure ...

  5. ssh scp ssh-copy-id 非22端口的操作方法

    (1)首先我们来看一下ssh-copy-id的非22端口的操作方法 ssh-copy-id -i  ~/.ssh/id_rsa.pub "-p 10056 wwwad@192.168.20. ...

  6. linux ssh scp 命令

    ssh jackielee@192.168.1.103 scp jackielee@192.168.1.103:/home/jackielee/develop/helloworld helloworl ...

  7. linux下ssh/scp无密钥登陆方法

    一.双方机器都是root用户登陆方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A ...

  8. ssh scp访问ipv6地址

    从这里学来的.http://blog.mattandanne.org/2012/01/sftpscp-and-ipv6-link-local-addresses.html当采用ipv6的地址去连接另外 ...

  9. linux ssh scp无密码登录

    一. 应用场景 假如你Linux Client是客户端, Server为服务器,用户名为user.现在要配置从Client到Server的无密码SSH登录或者无密码的scp拷贝. 例如客户端Clien ...

  10. ssh: scp命令

    scp 复制命令 Eg. -r /tmp/q1 root@[::]/home 1.命令格式: scp [参数] [原路径] [目标路径] 2.命令功能: scp是 secure copy的缩写, sc ...

随机推荐

  1. [信号与系统]傅里叶变换、DFT、FFT分析与理解

    目录 一.前言 二.傅里叶变换 1.傅里叶级数 2.傅里叶级数系数求解 2.1.求解方法 2.2.三角函数的正交性 2.3.系数求解过程 2.4.关于傅里叶级数的个人感悟 3.引入复指数 4.总结 三 ...

  2. 谈一下HashMap的底层原理是什么?

    底层原理:Map + 无序 + 键唯一 + 哈希表 (数组+Entry)+ 存取值 1.HashMap是Map接口的实现类.实现HashMap对数据的操作,允许有一个null键,多个null值. Co ...

  3. 代码小知识之UUID

    1.生成UUID(UUID保证对在同一时空中的所有机器都是唯一的,UUID的唯一缺陷在于生成的结果串会比较长.UUID 来作为数据库数据表主键是非常不错的选择,保证每次生成的UUID 是唯一的) UU ...

  4. Qstring和String的区别

    QString qTest; std::string sTest = qTest.toStdString(); qTest = QString::fromStdString(sTest); //进入两 ...

  5. 手把手教你手写一个最简单的 Spring Boot Starter

    欢迎关注微信公众号:「Java之言」技术文章持续更新,请持续关注...... 第一时间学习最新技术文章 领取最新技术学习资料视频 最新互联网资讯和面试经验 何为 Starter ? 想必大家都使用过 ...

  6. ss_port_change - 一键修改ss配置与Centos7的Firewall策略脚本

    ss_port_change 修改ss配置与Centos7的Firewall策略脚本 注意是否需要修改config路径与ss服务的名 脚本的敏感字用了*代替 项目地址 Github 脚本 #!/bin ...

  7. 01_AlexNet

    torch.topk 功能:找出前k大的数据,及其索引号 input:张量 k:决定选取k个值,k=1是为top-1 dim:索引维度 返回: Tensor:前k大的值 LongTensor:前k大的 ...

  8. 设计模式(二十四)——职责链模式(SpringMVC源码分析)

    1 学校 OA 系统的采购审批项目:需求是 采购员采购教学器材 1) 如果金额 小于等于 5000,  由教学主任审批 (0<=x<=5000) 2) 如果金额 小于等于 10000,   ...

  9. WPF 应用 - 使用 Properties.Settings 保存客户端密码

    1. 先在项目的 Settings.settings 新建需要的字段和类型 有需要还可设置初始默认值 2. 启动客户端时,获取 Properties.Settings 的属性值 public void ...

  10. js 判断 是否在当前页面

    1.使用visibilitychange 浏览器标签页被隐藏或显示的时候会触发visibilitychange事件. document.addEventListener("visibilit ...