通常,我们登陆到一台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系统之间基于密钥对免输入密码登陆的更多相关文章

  1. 使用WinSCP在Windows和Linux系统之间传输文件

    小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...

  2. linux系统之间共享文件(CentOS6)

    Server IP: 192.168.2.128 nfs, rpcbind(portmap) installed Client IP: 192.168.2.254 nfs, rpcbind(portm ...

  3. 转载:Linux系统和Linux系统之间如何实现文件传输

    两台Linux系统之间传输文件 听语音 | 浏览:13183 | 更新:2014-07-15 15:22 | 标签:linux 1 2 3 4 5 6 分步阅读 如何在Linux系统之间传输文件及文件 ...

  4. 使用rsync基于ssh免密登陆进行备份或目录同步

    日常工作中有很多的备份工作,rsync是一个很不错的工具,尝试使用基于ssh免密登陆的方式进行备份,测试成功,是可行且方便的方法,撰文记之,以备后用: 1.A主机root用户对B主机root用户做ss ...

  5. 配置SSH使用密钥认证:实现免输入密码登陆

    一.实际工作生产场景分析 张三是某公司员工,由于业务上的需求,需要经常使用SSH工具登陆服务器A的root账户进行操作,为避免重复进行密码验证身份.现采用张山的公钥发送给服务器A,免输入密码登陆到服务 ...

  6. 两台Linux系统之间传输文件的几种方法

    两台Linux系统之间传输文件的几种方法:参考https://www.cnblogs.com/bignode/articles/9241333.html

  7. 使用Xshell在Windows系统和Linux系统之间进行文件传输

    版权声明:本文为转载内容. 原博客内容https://blog.csdn.net/love666666shen/article/details/75742077 Windows系统在安装虚拟机cent ...

  8. Windows系统与Linux系统之间资源samba共享【转】

    配置SAMBA服务器来实现在Windows计算机与Linux计算机之间的用户级的资源共享,九河网络TOM[2694339173]教你怎样操作: SAMBA服务器的基本配置 配置SAMBA服务器来实现在 ...

  9. 树莓派与Linux系统之间文件传输

    最近因为要学习Python,于是把放在家里接了一年灰的树莓派又给搜出来了,刚买那会也捣鼓了好一阵子, 基本操作都学会了,但现在又忘光了,只能又从头开始搞了,首先第一个要解决的是怎么把文件从电脑传输到树 ...

随机推荐

  1. andriod 读取通讯录

    package com.example.yanlei.wifi; import android.content.ContentResolver;import android.database.Curs ...

  2. Spring注释事务失效及解决办法

    如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行  在主容器中(applicationContext.xml),将C ...

  3. 2017.7.18 linux下ELK环境搭建

    参考来自:Linux日志分析ELK环境搭建  另一篇博文:2017.7.18 windows下ELK环境搭建   0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1 ...

  4. 搭建elsticsearch集群 报错with the same id but is a different node instance解决办法

    搭建elsticsearch集群 报错with the same id but is a different node instance解决办法 学习了:https://blog.csdn.net/q ...

  5. Java过滤器(Filter)与SpringMVC拦截器(Interceptor)之间的关系与区别

    过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调. ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器. ③拦截器只能对action请求起作用,而过滤 ...

  6. mysql误操作后通过binlog恢复,同时解决tmp目录满的问题

    注意: 本文的恢复,并不是基于恢复某个时间点的全量备份后的增量恢复,而是指在现有数据库基础上基于binlog的恢复.适用于较小的数据误操作. 提取日志文件为sql语句: /usr-ext/local/ ...

  7. js 导入json配置文件

    import AA from './menu.json' console.log(AA) 匹配好路径

  8. Android实现炫酷SVG动画效果

    svg是眼下十分流行的图像文件格式了,svg严格来说应该是一种开放标准的矢量图形语言,使用svg格式我们能够直接用代码来描画图像,能够用不论什么文字处理工具打开svg图像.通过改变部分代码来使图像具有 ...

  9. Maven 缺省内置变量

    1.${project.build.directory} 构建目录,缺省为target 2.${project.build.outputDirectory} 构建过程输出目录,缺省为target/cl ...

  10. group by having和connect by

    --使用group by 子句对数据进行分组:对group by 子句形成的组运行聚集函数计算每一组的值:最后用having 子句去掉不符合条件的组.--having 子句中的每一个元素也必须出现在s ...