Linux_OpenSSH远程连接
目录
SSH server
Software:Openssh-server
Service:
1.ssh(Security Shell)
2.sftp-server(Security File Transfer Protocol)
Configure directory:/etc/ssh
SSH服务属性
ssh(Secure Shell)协议:加密远程传输协议
ServerEnd port: 22
ClientEnd port:> 1024
配置文件:/etc/ssh/sshd_config(Server)、/etc/ssh/ssh_config(Client)
ssh Server(被连接端)发送Server公钥 —-> ssh Client(发起连接):~/.ssh/known_hosts
SSH协议执行原理
Client将拥有的公钥发送给Server并于Server的私钥进行比对。
若一致:Server用Client公钥加密一个将来传输的密码,再将密码发给Client,Clinet用自己的私钥来解密得到传输密码,Client用传输密码对数据加密。
若不一致:则拒绝访问。
SSH连接方式
1.密码验证
2.密钥验证,实现步骤:
(1)Client(连接段)生成密钥对(公钥/私钥)
ssh-keygen #Create KeyPair in /UserName/.ssh
(2)将公钥发送给Server(被连接端)
ssh-copy-id -i ~/.ssh/id_rsa.pub userName@[hostname|ip]
ssh Commands
ssh userName@[hostname|IP] #Remote connect
ssh -X userName@[hostname|IP] #Support GUI
ssh userName@[hostname|IP] [commands] #[commands]:Execute following commands.
使用-X选项,需要在服务器端的/etc/ssh/ssh_config文件中设置 ForwardX11 yes 或者 X11Forwad yes,以启用 X11 Forwarding。
scp commands
scp:Security copy
scp -r [file|dir] userName@hostname:dirUrl #Copy local [file|directory] into remote host
scp -r userName@hostname:dirUrl [file|dir] #Copy remote [file|firectory] into local host
sftp commands
sftp userName@[hostname|IP] #Entry security ftp via protocol of ssh
连接Sftp后可以使用下面指令进行上传和下载文件
get file #dowmload the file
put file #upload the file
SSH在生产环境中的使用
一般不允许远程连接到root:
在SSH Server配置:
vim /etc/ssh/sshd_config
PermitRootLogin no
重启SSH服务
systemctl restart sshd.service
拒绝别人用密码登陆:
在SSH Server配置:
vim /etc/ssh/sshd_config
PasswordAuthentication no
重启SSH服务
systemctl restart sshd.service
系统间备份文件rsync
基于SSH协议的同步备份指令rsync
指令格式:
rsync -option fileName userName@[hostname|ip]:/directory
Example:
rsync -a /etc/ 192.168.0.2:/tmp
注意:
如果是/etc/ ,复制过去的是目录下面的内容
如果是/etc,复制过去的是目录和目录下面的内容
选项:
-a 归档
-v 显示过程
-r 子目录
-l 同步链接文件
-p 保留权限
-t 保留时间戳
-g 保留属组
-o 保留属主
Linux_OpenSSH远程连接的更多相关文章
- MSSQL远程连接
背景:部署公司自己研发的ERP系统. 1)系统架构: .NET+MSSQL. 2)服务器系统:Windows Server 2008 R2 Enterprise 3)数据库:MSSQL Server ...
- 配置mysql允许远程连接的方法
默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件. 一.修改/etc/mysql/my.conf找到bind-address = 127.0 ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
- Windows远程连接Linux
目录 xrdp方式 vnc方式 xrdp方式 ----------------------------------------------------------------------------- ...
- MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库
Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...
- SQL Server 2008 允许远程连接的配置
如果无法通过IP地址远程连接你的SQL Server 2008服务器,可以参考下面的内容进行设置.在进行下述设置之前,应该确保你的网络已经安装设置完毕,服务器已经正常连接到网络中. 1.单击Windo ...
- 【先定一个小目标】怎么解决mysql不允许远程连接的错误
最近使用Navicat for MySQl访问远程mysql数据库,出现报错,显示“1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to ...
- access基本操作(c#操作,远程连接,执行sql,加密,备份)
前言 最近项目用到了access,是的就是access,工作在桌面型的小数据库应用还是会用到的,如果你确定永远不会遇到access的操作,请忽略此篇文章 1.vs配置access 既然是数据库,就少不 ...
- mongodb安装、启动、远程连接
1.现在mongodb安装包 mongodb-linux-x86_64-3.0.6.tgz 2.解压缩安装包 tar zxvf mongodb-linux-x86_64-3.0.6.tgz /opt ...
随机推荐
- DEV第三方控件的GalleryControl控件
1.获取选中的图片 List<GalleryItem> lstArray = gclImage.Gallery.GetCheckedItems(); 2.滚动到GalleryControl ...
- 下载 Eclipse 免安装版~
进入https://www.eclipse.org/downloads/
- linux批量设置部分文件与文件夹权限
批量设置web目录下文件.文件夹名为sitemap.xml.sitemap 属性为777 cd /www/web find ./ -name 'sitemap' -exec chmod -R 77 ...
- Monty 大厅问题(Monty Hall Problem)也称作三门问题,出自美国大型游戏节目 Let's Make a Deal。
Monty 大厅的问题陈述十分简单,但是它的答案看上去却是有悖常理.该问题不仅引起过很多争议,也经常出现在各种考试题中. Monty 大厅的游戏规则是这样的,如果你来参加这个节目,那么 (1)Mont ...
- 动态添加+动态绑定(vue数据驱动思路)
先上案例 首先来分析一下,勾选科目的时候,下面同时增加科目的满分值设置. 以前写jquery的思路:当勾选的时候创建dom节点,然后把dom节点append到父节点上,项目采用前后分离的方式进行交互, ...
- pymysql ,主键, 索引
目录 一.pymysql模块的使用 1. 安装pymysql 2. 连接MySQL 3. sql注入问题 二.索引 1. 什么是索引 2. 索引有什么用 3. 索引的底层原理 4. 主键 5. MyS ...
- 【NOIP2016提高A组集训第13场11.11】最大匹配
题目 mhy12345学习了二分图匹配,二分图是一种特殊的图,其中的点可以分到两个集合中,使得相同的集合中的点两两没有连边. 图的"匹配"是指这个图的一个边集,里面的边两两不存在公 ...
- 操作系统——HugePage
TLB:页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令.数据需要访问两次内存:首先通过查询页表得到物理地址,然后访问该物理地址读取指令.数据.为了减少因为MMU导致的处理器性能下降 ...
- node 的CommonJS的引入
1.CommonJS 每个文件是一个模块,有自己的作用域 引入:
- java文件分片上传,断点续传
文件夹数据库处理逻辑 publicclass DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); ...