SSH免密登录,RSA认证登录
时间:2022-05-07
本文章向大家介绍SSH免密登录,RSA认证登录,主要内容包括说明、安装sshd、依次执行下面命令、测试、退出ssh、调试、命令讲解、注意、关闭用户名密码登录、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
说明
在客户机生成公钥和私钥, 然后将公钥拷贝到服务器.ssh/authorized_keys中, 客户机即可免密登录服务器了.
安装sshd
yum -y install sshd
如果下载特别慢可以参考Centos修改镜像为国内的阿里云源
依次执行下面命令
/usr/bin/ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa #生成公钥私钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #将公钥追加到 ~/.ssh/authorized_keys文件
chmod 600 ~/.ssh/authorized_keys #修改 ~/.ssh/authorized_keys权限
测试
ssh localhost
如果不用输入密码就成功了,如果还要生成密码,那就调试咯
退出ssh
exit
调试
服务器端配置文件/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
命令模式输入/RSA,找到47行的这两条配置文件
修改如下两行为yes。其实大多数情况下不用修改,默认就是yes。
47 #RSAAuthentication yes
48 #PubkeyAuthentication yes
49 #AuthorizedKeysFile .ssh/authorized_keys
如果你遇到了
Permissions 0755 for '~/.ssh/authorized_keys' are too open.
你没执行 chmod 600 ~/.ssh/authorized_keys
.ssh 目录的权限必须是0700 .ssh/authorized_keys 文件权限必须是0600
命令讲解
ssh-keygen #产生公钥与私钥对.
ssh-copy-id #将本机的公钥复制到远程机器的authorized_keys文件中
例子
ssh-copy-id -i id_rsa.pub root@node4
输入密码,copy完成
测试
ssh node4
不需要输入密码咯
注意
先执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
~/.ssh/目录下有authorized_keys 文件后再用ssh-copy-id命令,否则有可能出问题。
关闭用户名密码登录
修改一下服务器的配置文件/etc/sshd/sshd_config
PasswordAuthentication no
修改完后要重启sshd服务。
service sshd restart
这样用户通过密码方式登录时就会提示:
Permission denied (publickey,gssapi-with-mic)
- 网站抓取引子 - 获得网页中的表格
- Android Firebase 服务简介
- CVE-2015-0393:Oracle发布严重安全漏洞预警
- 研究人员发现一种利用Siri窃取苹果iPhone/iPad数据的方法
- 关于Python中的__main__和编程模板
- 世界大战尽在掌控:盘点全球网络攻击实时追踪系统
- Activity数据传递
- apache反向代理一、泛解析域名二、APACHE配置
- Python学习 - 可视化变量赋值、循环、程序运行过程
- jdk源码分析红黑树——插入篇1.插入root2.父黑3.父红4.父红,叔红5.1父红,叔黑,外侧子孙5.2父红,叔黑,内侧子孙
- WIFI环境下Android手机和电脑通信
- 破解之美:利用ECB加密缺陷突破cookie加密
- 让Python猜猜你是否能约会成功
- python学习笔记之初识Python
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 程序员必备CDN加速jsDelivr+Gihub远程仓库
- java_方法的定义、调用、重载
- Oracle参数解析(nls_calendar)
- java_List、Set、Conllections工具类
- Oracle参数解析(OPEN_CURSORS)
- java_Collection、Map、泛型的使用
- java_线程、同步、线程池
- Oracle参数解析(nls_timestamp_format)
- Vue使用uuid-npm快速生成uuid,适用于多种场景
- WPF调用图片或资源(Uri)
- Hexo部署远程仓库(Conding、Gitee、Github)
- Linux下安装nginx
- CSS简笔画logo系列:纯CSS绘制“Adidas” Logo
- Electron + Vue跨平台桌面应用开发实战教程(一)
- java_抽象类、接口、多态的使用