linux如何配置ssh密钥登录
为什么要用ssh密钥登录
购买的服务器设置密码很容易被暴力破解,用密钥登录安全很多。root用户新建的用户也要用密钥登录更安全,如果一直su - 用户名登录
- 不方便
- 用xftp等服务上传文件到用户使用的服务下,归属人是root,还要chown改权限才能使用。
为其他用户创建ssh密钥的步骤
# 密钥对可通过 ssh-keygen -t rsa -C ‘comment’ -f filename 生成。该命令通常在 /usr/bin 下,生成 2 个文件:filename(私钥) 和 filename.pub(公钥)。
# 切换为目标用户
su - 用户名
#如果已经是该用户操作先回到家目录
cd ~
#查看是否以前设置过密钥,没有.ssh文件的没有设置过密钥,有可以删除重设
ll -a
#生成密钥,按提示操作
ssh-keygen
#成功后
chmod -R 700 .ssh/ #注意权限!
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 .ssh/authorized_keys #注意权限!
#然后私钥文件同在.ssh目录下id_rsa,下载到本地,登陆时设置下即可
sz id_rsa
#会弹出文件目录选择框,自己选好位置下载好把服务器的删除即可
rm -f id_rsa
这里需要注意,如果 authorized_keys 文件、$HOME/.ssh 目录 或 $HOME 目录让本用户拥有者之外的用户有写权限,那么 sshd 就会拒绝使用 ~/.ssh/authorized_keys 文件中的 key 来进行认证。所以也就无法成功使用私钥登录。
ssh-keygen 命令详解
ssh-keygen为ssh生成、管理和转换认证密钥,ssh-keygen命令用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密,SSH 密钥默认保留在 ~/.ssh 目录中。 如果没有 ~/.ssh 目录,ssh-keygen命令会使用正确的权限创建一个。
#命令语法
ssh-keygen [选项]
命令选项
-b:指定密钥长度;
-e:读取openssh的私钥或者公钥文件;
-C:添加注释,不指定,则comment内容默认为user@hostname;
-f:指定用来保存密钥的文件名,不指定f参数,则默认存到~/.ssh/下,生成id_rsa和id_rsa.pub两个文件;
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
-l:显示公钥文件的指纹数据;
-N:提供一个新密语;
-P:提供(旧)密语;
-q:静默模式;
-t:指定要创建的密钥类型。
基本示例
#以下 ssh-keygen 命令默认在 ~/.ssh 目录中生成 4096 位 SSH RSA 公钥和私钥文件。 如果当前位置存在 SSH 密钥对,这些文件将被覆盖。
ssh-keygen -m PEM -t rsa -b 4096
#使用ssh-kengen会在~/.ssh/目录下生成两个文件,不指定文件名和密钥类型的时候,默认生成的两个文件是
#id_rsa 第一个是私钥文件
#id_rsa.pub 第二个是公钥文件
#指定秘钥文件路径
ssh-keygen -t rsa -C 'rumenz@qq.com' -f ~/.ssh/github_id_rsa
#或者,在指定存放文件时输入一个新的文件名
#> Enter file in which to save the key(/Users/rumenz/.ssh/id_rsa):id_rsa_gitlab
#多个SSH key的管理的情况就需要指定秘钥文件名。
参考文章:linux如何配置ssh密钥登录
linux如何配置ssh密钥登录的更多相关文章
- centos6.7版本下配置ssh密钥登录
需要提前说明的是我使用的系统是centos6.7的版本. 1.我使用的是Putty登录 #ssh-keygen (生成公钥和私钥的命令) 回车之后会提示密钥要存放的目录,默认的目录是当前目录下的.ss ...
- jenkins 配置ssh密钥登录
1.找到一台服务器执行 ssh-keygen -t rsa 会在目录/root/.ssh生成id_rsa私钥.id_rsa.pub公钥,将公钥的内容写入到同目录下的authorized_keys文件( ...
- SSH密钥登录让Linux VPS/服务器更安全
查看 /var/log 登录日志文件,突然发现服务器被人扫描端口在进行暴力攻击 平常登录服务器,都是使用用户密码登录,看来这样的做法并不安全,不得不关闭密码登录了. 总结了一个putty使用密钥自动登 ...
- 如何在 Linux 中配置基于密钥认证的 SSH
什么是基于 SSH 密钥的认证? 众所周知,Secure Shell,又称 SSH,是允许你通过无安全网络(例如 Internet)和远程系统之间安全访问/通信的加密网络协议.无论何时使用 SSH 在 ...
- CentOS配置ssh无密码登录
CentOS配置ssh无密码登录的注意点 前提配置:使用root登录修改配置文件:/etc/ssh/sshd_config,将其中三行的注释去掉,如下: 然后重启ssh服务:service s ...
- 集群之间配置 SSH无密码登录
集群之间配置 SSH无密码登录 配置 ssh (1)基本语法 ssh 另一台电脑的 ip 地址 (2)ssh 连接时出现 Host key verification failed 的解决方法 # ss ...
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问(转)
转自:http://blog.csdn.net/pennyliang/article/details/8556662 ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访 ...
- Sourcetree配置ssh密钥 - git图形化工具(二)
这里主要介绍Sourcetree如何导入已经生成好的ssh私钥,如何生成ssh私钥自行百度. 如果Sourcetree没有配置ssh密钥,克隆时会提示如下错误: 仓库类型:这是一个无效的源路径/URL ...
- Linux实现利用SSH远程登录服务器详解
Linux实现利用SSH远程登录服务器详解 http://www.111cn.net/sys/linux/55152.htm
- Ubuntu 安装 SSH server 并配置 SSH 无密码登录
https://hinine.com/install-and-configure-ssh-server-on-ubuntu/ Ubuntu 安装 SSH server 并配置 SSH 无密码登录 发表 ...
随机推荐
- 火山引擎AB测试:企业产品优化主题分享在北京举办
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎数智平台在北京举办了"超话数据:企业产品优化分享"的活动.该活动邀请了火山引擎的 ...
- Solon 的常用配置
一.服务端基本属性 #服务端口(默认为8080) server.port: 8080 #服务的 http 信号端口(默认为 ${server.port}) server.http.port: 8080 ...
- Java 全新生态的框架,Solon v1.10.12 发布
一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,也没有 Servlet,独立的生态.主框架仅 0.1 MB.Helloworld: @Controller public ...
- PPT 商务图表的应用和美化之道
PPT 商务图表的应用和美化之道 折线图 饼图 你认为的图表元素,可能是图表外的元素 https://www.bilibili.com/video/BV1ha411g7f5/?p=11
- SQL Server 2016 安装
数据库安装 选择全新安装模式继续安装 输入产品秘钥:这里使用演示秘钥进行 接受许可 规则检测 可以后期再开放防火墙对外端口 选择需要安装的功能,想省事可以选择[全选] 可以安装JDK,这边选择取消 P ...
- Nginx 四层代理配置
四层代理比较方便.简单,nginx.conf 如下 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log lo ...
- python-docx -快速入门
docx python-docx是一个用于创建和更新Microsoft word(.docx)文件的Python库 安装 pip install python-docx 快速入门 打开文档 需要的 ...
- 初始环境(centos7)
#!/bin/bash yum -y install wget #更换阿里源 下载epel源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d ...
- Tomcat--安装&&配置文件
配置信息 centos:7.8 tomcat:7.0.3 jdk:1.8 1 部署java环境 [root@localhost ~]# tar xvf jdk-8u181-linux-x64.tar. ...
- java基础-运算符--day03
目录 1. 算数运算符 2.+号 3. ++ 4. = 赋值操作 5. 关系运算 6. 逻辑运算 7. 三元运算 8 位运算 1. 算数运算符 / 处以 % 取余 public class TestO ...