Browsed by
分类:shell

Linux下两台机器scp无需密码传输

Linux下两台机器scp无需密码传输

前言

在工作中,经常需要发布代码到服务器,之前使用rz的方式上传zip的压缩包,可还是有些不智能,于是想到怎么通过scp的方式上传到服务器。于是我就想到使用git bash的scp方法来操作,使用过scp的都知道需要指定远端服务器的帐号并手动输入密码,下面就讲一下如何避免每次都需要输入密码这个操作。

建立ssh的信任关系

在这里先介绍两个概念:SSH公钥(~/.ssh/id_rsa.pub)和公钥授权文件(~/.ssh/authorized_keys),这两个文件的作用具体可以参考ssh的man手册
~/.ssh/id_rsa.pub        Contains the public key for authentication.  These files are not sensitive and can (but need not) be readable by anyone.​~/.ssh/authorized_keys        Lists the public keys (DSA/ECDSA/RSA) that can be used for logging in as this user.  The format of this file is described in the sshd(8) manual page.  This file is not highly sensitive, but the recommended permissions are read/write for the user, and not accessible by others.
从描述中我们可以知道,~/.ssh/id_rsa.pub文件中包含了认证的公钥信息,而且该文件可以被任何人读取;而~/.ssh/authorized_keys文件中则列举了登录用户的公钥信息(换句话说就是使用这些公钥信息可以登录当前设备),而为了安全考虑,该文件一般建议只有本用户可以有读写权限(这条信息很关键,后面会讲)。

公钥和私钥

提到公钥对应的就会有私钥,在谈这两个概念之前我们先了解另外一组概念...阅读全文
Linux程序员都需要知道的bash shell快捷键

Linux程序员都需要知道的bash shell快捷键

作为经常在linux开发的程序员,bash shell使用必不可少,熟记下面的快捷键,将极大地提高你的工作操作效率。

使用快捷键编辑命令行是由GNU Readline Library提供的。这些库被许多其他*nix应用包括bash使用,所以学习这些快捷键不仅可以让你很容易地在bash命令中操作,还能让你在一系列使用Readline的*nix应用中更方便的操作,默认情况下,Readline使用emacs键映射,尽管可以设置成vi编辑模式,我还是倾向于学习默认的操作,因为大多数应用是这样的。

编辑命令

  • Ctrl + a - 移到命令行首
  • Ctrl + e - 移到命令行尾
  • Ctrl + k - 从光标处删除至命令行尾
  • Ctrl + u - 从光标处删除至命令行首
  • Ctrl + w - 从光标处删除至字首(比如删除一个单词
  • Ctrl + y - 粘贴刚才上面使用过的删除快捷键删除的单词或文本到光标后面
  • Ctrl + xx - 在命令行首和光标之间来回移动
  • Alt + b -按单词后移(左向
  • Alt + f - 按单词前移(右向
  • Alt + d - 从光标处删除至字尾
  • Alt + c - 从光标处更改为首字母大写的单词
  • Alt + u -从光标处更改为全部大写的单词
  • Alt + l - 从光标处更改为全部小写的单词
  • Alt + t - 交换光标处和之前的单词
  • Ctrl + f - 按字符前移(右向
  • Ctrl + b - 按字符后移(左向
  • Ctrl + d - 删除光标处的字符...
阅读全文