Linux SSH 使用密钥登陆
Linux SSH 使用密钥登陆
- 通常我们登录 Linux 服务器,我们需要使用密码进行登录,但是密码存在被暴力破解的可能。
- 可以将默认服务端口 22 改成其他不常用的端口。
- 可以设置非常复杂的密码。
- 可以使用密钥进行登录,彻底免去密码输入的过程。
- 原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
环境准备
- 如果你的机器是Windows系统,可能需要单独的软件来生成密钥,这里我用的是Git Bash,开发的伙伴应该都熟悉。
- Linux 系统一般自带,可以直接使用。
# 在本机生成公钥和私钥
ssh-keygen -t rsa # 如果不是测试使用,需要对passphraseu设置密码。
ssh-keygen -t dsa # 另外一种算法,证书登录我们通常使用 rsa。
- 在用户主目录生成密钥对。
- Windows 用户也在用户主目录中例如:“C:\Users\Chris.ssh”。
# 会在用户的主目录生成公钥和私钥
~/.ssh/id_rsa # 私钥
~/.ssh/id_rsa.pub # 公钥
- 修改目标主机的SSH配置文件,允许使用密钥登陆
vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
- 将id传到目标主机上(会提示输入一次密码)
ssh-copy-id postgres@172.26.114.87
使用说明
- Putty等软件可以直接加载私钥,然后直接访问目标主机。
- 这里我们用的是mobaxterm,同样可以直接使用密钥,更方便更安全。
权限问题
# 在本机生成公钥和私钥
ssh-keygen -t rsa # 如果不是测试使用,需要对passphraseu设置密码。
ssh-keygen -t dsa # 另外一种算法,证书登录我们通常使用 rsa。
# 会在用户的主目录生成公钥和私钥
~/.ssh/id_rsa # 私钥
~/.ssh/id_rsa.pub # 公钥
vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
ssh-copy-id postgres@172.26.114.87
把密钥移动到其他机器上的时候,提示了权限问题。
Permissions 0744 for '/Users/chris/.ssh/id_rsa' are too open.
chmod 400 ~/id_rsa*
Linux SSH 使用密钥登陆的更多相关文章
- 配置SSH无密钥登陆(三)
配置SSH无密钥登陆 (1).关闭防火墙 对每个虚拟机进行如下操作: su chkconfig iptables off 执行之后重启虚拟机:reboot (2).关闭之后,在maste ...
- ssh免密钥登陆的两种方式
ssh 免密钥登陆的两种方式第一种:直接使用命令复制过去ssh-copy-id root@192.168.3.113批量复制for i in {113..140}; do ssh-copy-id ro ...
- Linux中ssh介绍与ssh+key密钥登陆部署
环境内核信息: [root@zabbix- ~]# uname -a Linux zabbix- -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86 ...
- Linux 配置SSH 无密钥登陆
根据SSH 协议,每次登陆必须输入密码,比较麻烦,SSH还提供了公钥登陆,可以省去输入密码的步骤. 公钥登陆:用户将自己的公钥存储在远程主机上,登陆的时候,远程主机会向用户发送一串随机字符串,用户用自 ...
- linux ssh免密登陆
大致流程: 两台linux系统A B 如果A要登陆到B 1.生成A的密钥对 2.将A的公钥拷贝到B的authorized_keys中即可 可以使用命令:ssh-copy-id -i ~/.ssh/id ...
- SSH通过密钥登陆
A服务器上操作 ssh-keygen -t rsa/dsa 后面所带参数rsa/dsa为加密方式,默认为dsa [root@localhost ~]# ssh-keygen Generating pu ...
- SSH免密钥登陆
local ipaddress:10.47.39.7:remote ipaddress:10.47.39.8 1.生成公钥和私钥 [root@local ~]# ssh-keygen -t rsa ...
- ssh的配置,ssh打开密钥登陆,关闭密码登陆。
刚装玩fedora,那么我们就以fedora为例来说一下怎么配置: 1.先确认是否已安装ssh服务: [root@localhost ~]# rpm -qa | grep openssh-server ...
- centos7.5下生成公钥,实现ssh免密钥登陆
配置SSH无密码登录需要4步准备工作生成公钥和私钥导入公钥到认证文件,更改权限测试1. 准备工作确认本机sshd的配置文件(需要root权限) # vi /etc/ssh/sshd_config 1找 ...
随机推荐
- 201712-1 最小差值 Java
思路: 也可以不排序,最后用abs就行 import java.util.Arrays; import java.util.Scanner; public class Main { public st ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习:HTML DOM 元素 (节点)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 和我一起从0学算法(C语言版)(三)
第二章 暴力求解(枚举法) 第一节 小学奥数题-程序求解 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ------------------- 三 羊 生 瑞 气 ...
- h5-边框图片
1.边框图片详解 <style> *{ ; ; } div{ width: 900px; height: 900px; margin: 100px auto; border: 133px ...
- 触发器-- 肖敏_入门系列_数据库进阶 60、触发器(三) --youku
二 https://v.youku.com/v_show/id_XMzkxOTc5NDY0OA==.html?spm=a2h0k.11417342.soresults.dtitle 三 https:/ ...
- mysql查看整库个表详情
information_schema.tables字段说明 字段 含义 Table_catalog 数据表登记目录 Table_schema 数据表所属的数据库名 Table_name 表名称 Tab ...
- Unity3D事件函数的执行顺序
In Unity scripting, there are a number of event functions that get executed in a predetermined order ...
- vscode Cannot edit in read-only editor.
原因 使用了runcode插件 这个错误一般出现在使用命令行输入的时候出现. 但是output页面是只读的,只能输出,不能用来输入. 解决 解放方法是,将run code设置为在Teminal中运行: ...
- Bless All
# php code $i = 2333 $myJXOI = JXOI() while($i == 2333){ ++myJXOI.score , ++myJXOI.rp , --myJXOI.常数 ...
- swift------导入OC三方类找不到头文件的解决方法
1.首先新建个 swift工程 2.在swift 中新建 OC 类 比如新建 Request 类,会自动生成个.XXXX-Bridging-Header 类: 3.让后把 导入的第三方头文件导入进去. ...