ssh+scp基本使用
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基本使用的更多相关文章
- Linux SSh scp使用【远程文件/目录的传输】
一:Linux ssh scp的简介及作用: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们 ...
- iOS逆向开发(1):基础工具 | ssh | scp | socat
小白:小程,我一直想问,什么是逆向来着?是逆向行驶吗? 小程:理解为逆向行驶也没错.一般的项目是从无到有,而逆向是从已有的状态入手,分析出已有的流程与结构的手段. iOS上的逆向开发,是一件有趣的事情 ...
- 解决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/ ...
- SSH SCP 远程密钥登录配置和服务器间的文件传输
目录 ssh ssh是什么 ssh安装 使用ssh登录远程主机 退出登录 使用ssh执行单条指令 密钥验证 详细操作 scp rsync sftp 进阶 ssh ssh是什么 ssh (Secure ...
- 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. ...
- linux ssh scp 命令
ssh jackielee@192.168.1.103 scp jackielee@192.168.1.103:/home/jackielee/develop/helloworld helloworl ...
- linux下ssh/scp无密钥登陆方法
一.双方机器都是root用户登陆方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A ...
- ssh scp访问ipv6地址
从这里学来的.http://blog.mattandanne.org/2012/01/sftpscp-and-ipv6-link-local-addresses.html当采用ipv6的地址去连接另外 ...
- linux ssh scp无密码登录
一. 应用场景 假如你Linux Client是客户端, Server为服务器,用户名为user.现在要配置从Client到Server的无密码SSH登录或者无密码的scp拷贝. 例如客户端Clien ...
- ssh: scp命令
scp 复制命令 Eg. -r /tmp/q1 root@[::]/home 1.命令格式: scp [参数] [原路径] [目标路径] 2.命令功能: scp是 secure copy的缩写, sc ...
随机推荐
- Zookeeper从入门到删库跑路
导语 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等.Zookeeper是hadoop的一个子项 ...
- Mysql训练:第二高的薪水(IFNULL,OFFSET,LIMIT)
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 ...
- 控制流程-if/while/for
目录 一.控制流程之if判断 1.单分支结构 2.双分支结构 3.多分支结构 二.控制流程之while循环 1.基本使用 2.break 3.continue 三.流程控制之for循环 1.break ...
- 一文让你对js的原型与原型链不再害怕、迷惑
目录 原型与原型链的详细剖析 原型 显式原型prototype 隐式原型__proto__ 显式原型prototype与隐式原型__proto__的关系 原型链(隐式原型链) 探寻原型链的尽头 完整详 ...
- 后端程序员之路 7、Zookeeper
Zookeeper是hadoop的一个子项目,提供分布式应用程序协调服务. Apache ZooKeeper - Homehttps://zookeeper.apache.org/ zookeeper ...
- xmake v2.5.2 发布, 支持自动拉取交叉工具链和依赖包集成
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能 ...
- Mybatis检查SQL注入
Mybatis 的 Mapper.xml 语句中 parameterType 向SQL语句传参有两种方式:#{ } 和 ${ }. 使用#{ }是来防止SQL注入,使用${ }是用来动态拼接参数. 如 ...
- MySql数据库列表数据分页查询、全文检索API零代码实现
数据条件查询和分页 前面文档主要介绍了元数据配置,包括表单定义和表关系管理,以及表单数据的录入,本文主要介绍数据查询和分页在crudapi中的实现. 概要 数据查询API 数据查询主要是指按照输入条件 ...
- 分布式session实现方式
一.背景 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理. 如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A.B两台服务器,用户在第一次访问网站时,N ...
- 使用函数式语言实践DDD
长期以来我都在实践OOP,进而通过OOP来实现DDD,特别是如何通过面向对象的技巧来建立一个领域模型.OO的一些特性在建立领域模型时显得恰如其分,能否掌握OO的技巧,对创建领域模型有着至关重要的作用. ...