通常,我们登陆到一台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. kubernetes1.5.2--部署监控服务

    本文基于kubernetes 1.5.2版本编写 Heapster是kubernetes集群监控工具.在1.2的时候,kubernetes的监控需要在node节点上运行cAdvisor作为agent收 ...

  2. virtualenv 和apache 搭建django时注意事项

    在对应网站的xxx.conf中 WSGIDaemonProcess http://127.0.0.1:80 python-path=/home/user/my_blog_2:/home/user/ve ...

  3. windows和linux之间上传下载文件的两种方法

    一    用rz和sz http://blog.csdn.net/register_man/article/details/53860774 http://www.jb51.net/article/7 ...

  4. PC-LINT

    静态代码检查工具PC-Lint(一) 2006-12-07 23:50   C/C++语言的语法拥有其它语言所没有的灵活性,这种灵活性带来了代码效率的提升,但相应增加了代码中存在隐患的可能性.静态代码 ...

  5. 【云计算】WAF简介、功能特性、部署方式等

    之前写了一篇<WAF防御能力评测及工具>,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!).本篇文章从WAF产品研发的角度来YY如何 ...

  6. shell中set命令

    set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值.set命令不能够定义新的shell变量.如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定 ...

  7. 转: Linux 上的常用文件传输方式介绍与比较

    from:  https://www.ibm.com/developerworks/cn/linux/l-cn-filetransfer/ ftp ftp 命令使用文件传输协议(File Transf ...

  8. JAVA泛化及为什么需要泛化

    泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 比如,有一种类型为List,此时该List可以是任意类型的列表,如Integer,String等等. 如果把List类型改为List ...

  9. Hibernate级联及控制反转的增删改查

    在JavaHibernate中,双向多对一的操作一直是一个重点难点,本篇文章就是来探讨这个问题. 双向多对一:一个班级对应多个学生,多个学生同属于一个班级,通过班级信息可以查到班级内的学生,通过学生可 ...

  10. Linux Oracle数据库的安装

    // 注释 # root用户 $oracle用户 1. 关闭安全措施    # chkconfig iptables off // 永久关闭防火墙 # serviceiptables stop // ...