linux系统之间基于密钥对免输入密码登陆
通常,我们登陆到一台linux主机是需要输入密码,这样可以验证登陆者的身份。
这篇随笔里面我打算记录一下配置基于ssh密钥对登陆系统。在配置之前先和大家说明一下我遇到过的问题:刚接触到linux时候首先有了家目录的概念,为了使用,所以将/path/html权限改为777并改作为用户的家目录,这样每次登陆进系统时就直接到网站根目录下进行操作了,方便至极..........之前我的笔记本电脑是windows操作系统,用xshell连接服务器可以保存密码所以也一直用的很爽。直到我电脑换了linux操作系统,直接起终端ssh连接远程服务器。但是在配置ssh登陆时出现了问题。一切配置操作都是正常的,但是始终要输入密码。。。。无奈只能将用户家目录改到/home/username,定义切换路径的命令别名(/home/username/.bashrc 添加 alias chtml='cd /path/html' 这样在我使用username登陆后使用cthml命令就可以直接切换到/path/html目录).
具体配置ssh密钥对登陆的操作:
1.在本机生成密钥对,可直接用命令ssh-keygen(前提是系统安装了ssh,没有安装的话debian sudo apt-get install ssh,centos yum install ),由于我电脑有密码,密钥对就没有再设置密码,一路敲回车。这个命令会在用户家目录的.ssh/生成两个文件,id_rsa和id_rsa.pub,其中id_rsa是我们的私钥,id_rsa_pub为公钥。
2.将公钥添加至服务器,可以直接使用命令:ssh-copy-id -i ~/.ssh/id_rsa.pub username@server,之后输入username的密码即可。
tip:在网络上搜索到很多博客都是这样操作第二步:
scp id.rsa.pub username@server
ssh username@server
登陆到服务器后:cat id.rsa.pub >> ~/.ssh/authorized_keys
sudo server ssh restart
感觉这样有点麻烦,可以一个命令完成的事情为什么非要做的复杂呢?
只需要简单的两步即可配置完成,很简单。这样我们就可以直接连接, ssh username@server
关于更改完家目录后无法给予ssh密钥对登陆的问题暂时还没有找到原因,之后明白了会写博客记录。我查看了/etc/ssh/sshd_config 中的设置,自动登陆的公钥是这样写的 AuthorizedKeysFile %h/.ssh/authorized_keys ,如果没猜错的话可能是更改完用户家目录后寻找这个文件出现了问题,,但是该如何解决呢?
linux系统之间基于密钥对免输入密码登陆的更多相关文章
- 使用WinSCP在Windows和Linux系统之间传输文件
小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...
- linux系统之间共享文件(CentOS6)
Server IP: 192.168.2.128 nfs, rpcbind(portmap) installed Client IP: 192.168.2.254 nfs, rpcbind(portm ...
- 转载:Linux系统和Linux系统之间如何实现文件传输
两台Linux系统之间传输文件 听语音 | 浏览:13183 | 更新:2014-07-15 15:22 | 标签:linux 1 2 3 4 5 6 分步阅读 如何在Linux系统之间传输文件及文件 ...
- 使用rsync基于ssh免密登陆进行备份或目录同步
日常工作中有很多的备份工作,rsync是一个很不错的工具,尝试使用基于ssh免密登陆的方式进行备份,测试成功,是可行且方便的方法,撰文记之,以备后用: 1.A主机root用户对B主机root用户做ss ...
- 配置SSH使用密钥认证:实现免输入密码登陆
一.实际工作生产场景分析 张三是某公司员工,由于业务上的需求,需要经常使用SSH工具登陆服务器A的root账户进行操作,为避免重复进行密码验证身份.现采用张山的公钥发送给服务器A,免输入密码登陆到服务 ...
- 两台Linux系统之间传输文件的几种方法
两台Linux系统之间传输文件的几种方法:参考https://www.cnblogs.com/bignode/articles/9241333.html
- 使用Xshell在Windows系统和Linux系统之间进行文件传输
版权声明:本文为转载内容. 原博客内容https://blog.csdn.net/love666666shen/article/details/75742077 Windows系统在安装虚拟机cent ...
- Windows系统与Linux系统之间资源samba共享【转】
配置SAMBA服务器来实现在Windows计算机与Linux计算机之间的用户级的资源共享,九河网络TOM[2694339173]教你怎样操作: SAMBA服务器的基本配置 配置SAMBA服务器来实现在 ...
- 树莓派与Linux系统之间文件传输
最近因为要学习Python,于是把放在家里接了一年灰的树莓派又给搜出来了,刚买那会也捣鼓了好一阵子, 基本操作都学会了,但现在又忘光了,只能又从头开始搞了,首先第一个要解决的是怎么把文件从电脑传输到树 ...
随机推荐
- LVS/NAT
平台:RedHat Enterprise Linux centos6.3 ipvsadm ipvs 1. NAT模型 NAT模型:地址转换类型,主要是做地址转换,类 ...
- css 文字超出省略号
white-space:nowrap; overflow:hidden; -o-text-overflow:ellipsis; text-overflow:ellipsis; 语法: text-ove ...
- 在项目中引用android.support.v7
在Android开发中,新建的项目可能因为缺少对sopport工程的引用而报错,可以这样解决. 1.项目右键 --> import --> Android --> Existing ...
- npm -D -S -g -i 以及安装技巧
繁杂:npm install webpack 简洁:npm i webpack 重复性操作: npm i webpack npm i babel-core .... 简洁性操作: npm i webp ...
- Android API Guides---RenderScript
RenderScript RenderScript是在Android上的高性能执行计算密集型任务的框架. RenderScript主要面向与数据并行计算的使用.尽管串行计算密集型工作负载能够受益.该R ...
- Unable to connect to a repository at URL 解决方法
提示"Unable to connect to a repository at URL 'svn://localhost/project1/'" or “Can't connect ...
- create table #temptable 临时表 和 declare @bianliang table ()表变量
create table #temptable 临时表 和 declare @bianliang table ()表变量 在开发过程中,经常会遇到使用表变量和本地临时表的情况.下面是对二者的一个介绍: ...
- Android NDK开发篇(四):Java与原生代码通信(原生方法声明与定义与数据类型)
Java与原生代码通信涉及到原生方法声明与定义.数据类型.引用数据类型操作.NIO操作.訪问域.异常处理.原生线程 1.原生方法声明与定义 关于原生方法的声明与定义在上一篇已经讲一点了,这次具体分析一 ...
- java游戏开发基础Swing之JCheckBox
© 版权声明:本文为博主原创文章,转载请注明出处 1.复选框(JCheckBox) 使用复选框可以完成多项选择.Swing中的复选框与AWT中的复选框相比,优点是Swing复选框中可以添加图片 JCh ...
- JQuery小结(转)
一.页面加载 JQ的页面加载比JS要快,当整个dom树结构生成完毕后就会加载 JQ页面加载不存在覆盖问题,加载的时候是顺序执行 JQ的页面加载最简写的方式为: $(function(){ alert( ...