通常,我们登陆到一台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. Could not find com.android.tools.build:gradle:3.0.0-alpha3

    最近使用Android Studio 3.0 canary 3 时新建项目遇到标题所示错误,后网上找到解决办法.记录如下: 在项目的build.gradle文件中添加如下内容即可解决. reposit ...

  2. scala,import test._ ; import test.{ClassA,ClassB}

    在scala中,*不是通配符,下斜杠“_”才是通配符.因此当使用某个package所有的类时,直接使用:import test._:使用某几个时,直接使用:import test.{ClassA,Cl ...

  3. C++之类成员所占内存大小问题总结

    1.空类所占字节数为1,可见代码如下 #include <iostream> using namespace std; class Parent { }; class Child:publ ...

  4. Python 面向对象三(转载)

    来源:Mr.Seven www.cnblogs.com/wupeiqi/p/4766801.html 四.类的特殊成员 上文介绍了Python的类成员以及成员修饰符,从而了解到类中有字段.方法和属性三 ...

  5. curl 执行post请求

    #curl -l -H "Content-type: application/json;charset=UTF-8" -H "X-Forwarded-For: 20.20 ...

  6. Codeforces #282 div 1 C Helping People 题解

    CF 282 C Helping People 题解 [原题] time limit per test 2 seconds memory limit per test 512 megabytes in ...

  7. JAVA Eclipse如何重命名包

    选中某个包之后按F2即可   注意,重命名包不能有大写,而且必须有至少两级(xxx.xxx就是两级)   重命名包之后,你要修改manifest.xml文件  

  8. URAL 1984. Dummy Guy(数学啊)

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1984 1984. Dummy Guy Time limit: 0.5 second Me ...

  9. IIS7 经典模式和集成模式的区别分析

    IIS7.0中的Web应用程序有两种配置模式:经典模式和集成模式.两者区别大家可以参考下,根据实际情况选用. 经典模式是为了与之前的版本兼容,使用ISAPI扩展来调用ASP.NET运行库,原先运行于I ...

  10. 测试代码覆盖率工具学习(Android Emma)

    博客分类: 工具分享 eclipseeclemmaemmatestng       关于eclemma的历史和怎么安装,请参考http://www.ibm.com/developerworks/cn/ ...