Linux — OpenSSH 安全的远程连接
目录
文章目录
- 目录
- SSH server
- ssh Service
- ssh-agent
- SSH 在生产环境中的使用
- rsync
SSH server
Software:openssh-server
Services:
- ssh(Security Shell)
- sftp-server(Security File Transfer Protocol)
Configure directory:/etc/ssh
ssh Service
ssh(加密远程传输协议):
- Server Port:22
- Client Port:> 1024
配置文件:
- Server:/etc/ssh/sshd_config
- Client:/etc/ssh/ssh_config
连接方式:
- 密码验证。
- 密钥验证。
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 选项:需要在 Server 的 /etc/ssh/ssh_config 文件中设置 ForwardX11 yes 或者 X11Forwad yes,以此启用 X11 Forwarding。
scp commands:
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-agent
ssh-agent 是一个密钥管理器,用来管理 SSH Server 上的一个活多个密钥,并为其他需要使用密钥的程序提供代理。
ssh 是一个用来保证安全的网络协议,那么自然会有上层 APP 希望通过它来完成远程连接的安全认证工作,e.g. git 客户端。ssh-agent 就是为了这些 APPs 能够方便使用 ssh 的一个工具。
当把私钥交给 ssh-agent 管理的好处:
- 当 APPs 需要身份验证时,可以将验证申请提交给 ssh-agent 来完成整个认证过程。
- 当 SSH Server 有多个密钥,使用不同的密钥连接到不同的主机时,通常需要要手动指定对应的密钥,而 ssh-agent 可以自动帮助我们选择对应的密钥进行认证。
- 避免重复输入密码,如果私钥使用了密码加密,那么每一次使用 SSH 密钥对进行登录的时候,都必须输入正确的密码。而 ssh-agent 能够将已解密的私钥缓存起来,在需要的时候直接提供给 SSH Client。这样,就只需要在使用 ssh-add 时将私钥加入 ssh-agent 缓存的时候,输入一次密码即可。
ssh-agent 的工作原理:
SSH 在生产环境中的使用
- 不允许远程连接到 Root:
$ vi /etc/ssh/sshd_config
...
PermitRootLogin no
- 拒绝密码登陆:
$ vi /etc/ssh/sshd_config
...
PasswordAuthentication no
rsync
基于 SSH 协议的 rsync 指令:
rsync -option fileName userName@[hostname|ip]:/directory # e.g.
rsync -a /etc/ 192.168.0.2:/tmp
选项:
- -a 归档
- -v 显示过程
- -r 子目录
- -l 同步链接文件
- -p 保留权限
- -t 保留时间戳
- -g 保留属组
- -o 保留属主
Linux — OpenSSH 安全的远程连接相关推荐
- Linux网络模式及远程连接出错排障
Linux网络模式及远程连接出错排障 一.虚拟软件网络模式 1.NAT网络模式 2.桥接网络模式 3.仅主机模式 二.远程连接排错 1.链路通畅 1.1.检查通畅方式:ping 1.2.不通畅原因 2 ...
- 连接linux系统的mysql,Linux系统MySQL开启远程连接
1.远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码). 2.创建用户用来远程连接 GRANT ALL PRIVILEGES ...
- 电脑如何远程连接到服务器?Windows、Linux、Unix系统远程连接服务器演示
Windows.Linux.Unix系统远程连接服务器演示 一.Windows操作系统 二.Linux.Unix操作系统 服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行 ...
- Linux安装Redis、远程连接Redis
Linux安装Redis.远程连接Redis Redis官方tar包下载地址 Linxu安装Redis 1.新建redis安装目录 2.上传文件到服务器的安装目录 3.解压tar包 4.安装gcc环境 ...
- linux上mysql允许远程连接,linux下mysql允许远程连接
1. MySql安装教程 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html 默认情况下mysq的 roo ...
- Linux之使用MobaXterm远程连接Linux前提条件
参考文章: Linux之使用NAT模式进行网络连接和用nmtui命令或修改文件方法固定IP地址 mobaxterm下载与使用mobaxterm远程登录Linux 六款Linux常用远程连接工具介绍,看 ...
- Linux系统MySQL开启远程连接
远程连接服务器上的MySQL. Navicat软件连接数据库报错:2003-can't connect to MYSQL serve 工具/原料 crt.navicat.Linux系统.MySQL. ...
- linux mysql授权远程登录,Linux中 MySQL 授权远程连接的方法步骤
说明:当别的机子(IP )通过客户端的方式在没有授权的情况下是无法连接 MySQL 数据库的,如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和 具体用户 进行 授权 .一般 ...
- Linux上 MongoDB 实现远程连接并设置账号密码
本地系统:Fedora 28 服务器系统:CentOS 7 安装 在本地安装客户端 sudo dnf install mondodb 在服务器上安装服务端 sudo dnf install mongo ...
最新文章
- Python全栈 进阶(进阶内容都在这了)
- 定时器 线程池\进程池
- C语言中的二级指针和二维数组问题
- 《C++ Primer》7.3.4节练习
- 深度学习(四十五)条件对抗网络
- 学生每日计划表_学霸宅家都干什么?浙大学生近700份居家作息计划表泄露秘密...
- 算法笔记--二分图判定
- Python的argparse
- snipaste截长图
- 强化学习之DQN(附莫烦代码)
- Windows10(MSN)天气数据爬取
- multisim14安装后怎么汉化(超详解)
- Win7设置开机密码后开机不需要输入密码
- 免费的局域网协作办公方式—onlyoffice文档协作
- docker xware下载慢_【原创】基于Docker实现迅雷远程下载
- 让单身狗犹如过情人节的“网易云日推”原来是这样生成的
- 微信公众号自定义菜单跳转到历史消息页面
- Python爬虫(scrapy模块、bs4模块) 爬取笔趣阁全本小说(三级页面)
- ceph(ceph是什么意思)
- Python初学者必会的3款代码编辑器
热门文章
- java c 流_java对象传输流C/S传输对象
- idea查看ruby代码_Ruby实现命令行中查看函数源码的方法
- java 调内存_java内存设置
- mysql不具有的特征是_MySQL中的SQL特征(转)
- 用python玩转数据第四周答案_2020大学mooc用Python玩转数据课后答案
- matlab模拟塞曼图谱,塞曼效应以及能级的计算
- 他在京东每天做1000万图灵测试
- 世界首个2nm制程芯片公布!这次IBM跑在了台积电三星英特尔前面
- 谷歌翻译大型翻车现场:请服用“反坦克导弹”来缓解疼痛,UCLA:医生们要注意了...
- 「机器人界的微软」创始人逝世,从iPhone到汽车都离不开他的创造