目录

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远程连接的更多相关文章

  1. MSSQL远程连接

    背景:部署公司自己研发的ERP系统. 1)系统架构: .NET+MSSQL. 2)服务器系统:Windows Server 2008 R2 Enterprise 3)数据库:MSSQL Server ...

  2. 配置mysql允许远程连接的方法

    默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件. 一.修改/etc/mysql/my.conf找到bind-address = 127.0 ...

  3. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

  4. Windows远程连接Linux

    目录 xrdp方式 vnc方式 xrdp方式 ----------------------------------------------------------------------------- ...

  5. MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

  6. SQL Server 2008 允许远程连接的配置

    如果无法通过IP地址远程连接你的SQL Server 2008服务器,可以参考下面的内容进行设置.在进行下述设置之前,应该确保你的网络已经安装设置完毕,服务器已经正常连接到网络中. 1.单击Windo ...

  7. 【先定一个小目标】怎么解决mysql不允许远程连接的错误

    最近使用Navicat for MySQl访问远程mysql数据库,出现报错,显示“1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to ...

  8. access基本操作(c#操作,远程连接,执行sql,加密,备份)

    前言 最近项目用到了access,是的就是access,工作在桌面型的小数据库应用还是会用到的,如果你确定永远不会遇到access的操作,请忽略此篇文章 1.vs配置access 既然是数据库,就少不 ...

  9. mongodb安装、启动、远程连接

    1.现在mongodb安装包 mongodb-linux-x86_64-3.0.6.tgz 2.解压缩安装包 tar zxvf  mongodb-linux-x86_64-3.0.6.tgz /opt ...

随机推荐

  1. C语言面试相关知识点

    1.关键字static的作用是什么? 有三个明显的作用: 1)在函数体内,一个被声明为静态的变量在这个函数被调用过程中维持其值不变 2)在模块内(但在函数体外),静态的变量可以被模块内所有函数访问,但 ...

  2. Centos7安装Python3的方法[转]

    Centos7安装Python3的方法   由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_ ...

  3. 硬盘安装ubuntu遇到的问题

    终于把这个系统给装上了,陆陆续续弄了4,5天(崩溃...),一直一来都是用U盘来装ubuntu的,挺简单的,但是这个主机识别不了U盘不知道为什么...这个问题又是百度又是Google最终找不到原因只好 ...

  4. PHP WEB 引擎缓存加速优化

    PHP 缓存加速器介绍 操作码缓存 请求一个 PHP 程序时,PHP 引擎会解析程序,并且将编译码作为特定操作码.这是要执行的代 码的一种二进制表示形式.随后,此操作码有 PHP 引擎执行并丢弃.操作 ...

  5. 基于Apache服务在centos7上搭建文件列表

    参考文献: https://www.cnblogs.com/snake553/p/8856729.html https://blog.csdn.net/yejinxiong001/article/de ...

  6. Vue项目的痛点

    前言 用Vue做项目,难免会有痛点,移动端还是PC端,我也总结了下关于问题: 进入详情页的传参问题. 服务器接口跨域 axios封装请求 UI库的按需加载 如何只在当前页面中覆盖ui库中组件的样式 定 ...

  7. 自己用ul模拟实现下拉多选框,

    模拟实现下拉多选框 效果如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  8. vue学习-day04(路由)

    目录: 1.组件传值-父组件向子组件传值和data与props的区别    2.组件传值-子组件通过事件调用向父组件传值          3.案例:发表评论.使用ref获取DOM元素和组件引用   ...

  9. windows10 gcc编译C程序(分步编译)

    下面演示gcc对C源程序的分步编译过程: 1. 编译(Compile) gcc hello.cpp -c # 生成hello.o,目标文件名字和源文件名字一样,VC编译会生成.ojb文件,gcc编译器 ...

  10. 【BZOJ1098】办公楼biu(补图,bfs,链表)

    题意:有n个点m条边,要求将点尽可能多的分成若干个部分,使得若两个点不在同一个部分则他们之间必定有边 n<=1e5,m<=2e6 思路:From https://blog.csdn.net ...