ssh 管理 linux登录远程服务器
使用 ssh 免秘登录方式
(还可以使用 ssh-agent 缓存密码)
客户端:
1. 生成公钥和私钥
ssh-keygen
一般不需要对私钥设置口令(passphrase),如果担心私钥的安全,这里可以设置一个。
运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa
2.将公钥传送到远程主机 host上面
ssh-copy-id user@host -p port
附:复制到剪切板,可以粘贴到 github 的方法
$ sudo apt-get install xclip
# Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`) $ xclip -sel clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
3.配置 ssh 连接信息
vim $HOME/.ssh/config
写入相关参数
Host demohost
HostName 198.93.47.225
User root
Port 2782
IdentityFile ~/.ssh/id_rsa
编辑该文件权限
chmod 600 $HOME/.ssh/config
4.就 ssh信息添加到代理中
ssh-add
5.登录
ssh demohost
6.利用 scp传输文件
scp -P /home/lg/Documents/Project/PycharmProjects/GroupBot/abc.ini root@182.93.57.215:/root
7.sftp 传输文件
$ sftp demohost
sftp> get Documents/1.txt /home/lg/Documents/
ssh 原理
1.生成一对公钥与私钥对(可以在客户端直接生成,也可以在其它地方生成)
ssh-keygen
2,客户端配置该私钥存放路径
Host book
HostName 139.97.102.212
User root
Port 22
IdentityFile ~/.ssh/book_solr.pem
3.服务器配置该公钥的内容保存到 ~/.ssh/authorized_keys 文件中
ssh-copy-id user@host -p port
4.前三步配置好了之后,客户端向服务器第一次发请求,会返回服务端的公钥并要求你确定。确定后,客户端拿到该公钥并保存到 know_hosts 中(可设置 StrictHostKeyChecking=no,会自动添加,不必手动确认)。
5.安全保证
公钥的两层作用(加密与验签)
数据加密:客户端向服务器发送信息(使用服务端公钥加密);服务器向客户端发送信息(使用客户端公钥加密的)。
验证签名:客户端使用私钥加密签名信息,服务端通过 authorized_keys 中的公钥解密并验签确保客户端来源的安全。
通过腾讯云工具生成一对公私钥,将私钥保存到客户端,公钥保存在服务器,登录时将加密消息通过私钥签名,腾讯云通过列表中的公钥验证签名正确,开始解密你的消息。
这里最重要的是签名,即便数据没有加密,只要你签名不对,你也是无法操作服务器的。
ssh 管理 linux登录远程服务器的更多相关文章
- MAC下ssh免密码登录远程服务器
生成密钥.在终端下执行命令: ssh-keygen -t rsa 一路回车,各种提示按默认不要改,等待执行完毕.然后执行: ls ~/.ssh #可以看到两个密钥文件:id_rsa(私钥) id_rs ...
- linux SSH免密码登录远程服务器
背景:无密码登录,所谓的无密码登录其实是指通过证书认证的方式登录,使用一种‘公私钥’认证的方式来进行ssh登录 在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加 ...
- ssh免密码登录远程服务器(不采用securecrt登录)
http://blog.csdn.net/leexide/article/details/17252369 Linux/UNIX下使用ssh-keygen设置SSH无密码登录 标签: ...
- [整理]配置SSH密钥自动登录远程服务器
原理: 公钥私钥匹配通过验证,允许访问服务器. 简单步骤: 1.在本地创建一对密钥 2.将公钥传到需要访问的服务器上 3.将公钥放入服务器的authorized_keys,确保访问时能通过验证 4.本 ...
- 用Python写个自动ssh登录远程服务器的小工具
很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的 ...
- mac 使用iTerm2快捷登录远程服务器
mac 使用iTerm2快捷登录远程服务器 正常使用ssh登录服务器: ssh -p port user@host user@host's password: 输入端口,用户名,服务器ip地址后,还需 ...
- ssh免密连接远程服务器
ssh免密连接远程服务器 借助ssky-keygen和ssh-copy-id工具,通过4个简单的步骤实现无需输入密码登录远程Linux主机 1 生成密钥 通过内置的工具生成RSA算法加密的密钥 ssh ...
- Windows如何快速远程到另一台Windows并管理多个远程服务器
Windows如何远程到另一台 Windows管理多个远程服务器 Windows第三方远程管理工具 准备远程机器 开启远程机器的远程桌面功能 首先在此电脑(我的电脑)图标上点击鼠标右键,选择" ...
- 利用ssh-copy-id无需密码登录远程服务器
本地机器生成公钥和私钥 ssh-keygen -t rsa 一路回车,最后会在~/.ssh目录下生成id_rsa和id_rsa.pub这两个文件. 与远程服务器建立信任机制 ssh-copy-id - ...
随机推荐
- IOS 数据存储之 SQLite详解
在IOS开发中经常会需要存储数据,对于比较少量的数据可以采取文件的形式存储,比如使用plist文件.归档等,但是对于大量的数据,就需要使用数据库,在IOS开发中数据库存储可以直接通过SQL访问数据库, ...
- [Spring Unit Testing] Spring Unit Testing with a Java Context
For example, we want to test against a implemataion: package com.example.in28minutes.basic; import o ...
- 网站菜单CSS
#site-nav .down-menu a{height:88px;line-height:88px;border-bottom:0px solid #9e5ae2;transition-durat ...
- 20151028整理罗列某种开发所包括对技术(技术栈),“较为全面”地表述各种技术大系的图表:系统开发技术栈图、Web前端技术栈图、数据库技术栈图、.NET技术栈图
———————————— 我的软件开发生涯 (10年开发经验总结和爆栈人生) 爆栈人生 现在流行说全栈.每种开发都有其相关的技术.您是否觉得难以罗列某种开发所包括对技术(技术栈)呢? 您是否想过: ...
- [Aaronyang] 写给自己的WPF4.5 笔记8[复杂数据处理三步曲,数据视图精讲1/3]
真的好累了 ,笑了.做回自己吧 ------------- Aaronyang技术分享 www.ayjs.net 博文摘要: 详细介绍了WPF中视图的种类和开始学之前的准备工作 ...
- redis 连接 docker容器 6379端口失败
redis部署在docker容器中Could not connect to Redis 容器内redis-cli是可以直接连上的,但是在另一台服务器上就不能用外网ip来连了 虽然我创建redis容器时 ...
- 设置Nginx以列表方式显示网站内容
服务器目录内容: 访问该页面时,将所有文件和目录按列表方式显示 nginx配置文件
- GCD 之线程死锁
GCD 确实好用 ,很强大,相比NSOpretion 无法提供 取消任务的功能. 如此强大的工具用不好可能会出现线程死锁. 如下代码: - (void)viewDidLoad { [super vie ...
- 图文剖析自己定义View的绘制(以自己定义滑动button为例)
自己定义View一直是横在Android开发人员面前的一道坎. 一.View和ViewGroup的关系 从View和ViewGroup的关系来看.ViewGroup继承View. View的子类.多是 ...
- react-无状态组件
import React, { Component } from "react"; //import PostItem from "./PostItem"; / ...