生信小技巧之:在本地与服务器间快速传输文件,无密码登录远端服务器

今天是五一节,首先祝各位粉丝节日快乐,虽然是假期,但是我们推文还是不会停,但相信大家都不愿意看太过难太过复杂的推文,没问题。今天和大家分享一些简单但很实用的干货,保证每个生信小白都会获益,嘿嘿嘿。

作为一名生信工作者,远端服务器是必不可少的。每天都要登录服务器,还有将一些文件传送到本地电脑去做一进步的统计或者可视化,或者反之将本地的文件传送到服务器作分析,这都是我们每天都要经历或者说重复的事情。

看到这里,那么你一定会对以下的命令非常熟悉,因为你至少每天都敲好几十遍:

# 连接服务器
ssh username@130.95.25.32
# scp 传输文件
scp yourfile usename@130.95.25.32:/path/to/destination/

正如你所看到的,如果你拥有一个服务器,你每次您想要执行任何这些操作时,都要重新输入这一串长长的用户名,还有其对应的主机的ip地址。试想一下,如果你们实验室有三个以上的服务器,然后他们有不同的地址,不同的用户名,又甚至不同的密码。在不同服务器中登录传输,一个一个的执行上面的命令,会在不知不觉中消耗了你很多时间。那么问题来了如何解决这些问题?没错今天就是教你这些技巧。

简化传输和登录的解决方案

首先在~/.ssh目录下创建一个config文件。

vi ~/.ssh/config

将以下信息添加到config文件中(这里我以我自己的服务器信息作为例子,根据你们自己主机的ip地址和用户名进行对应的修改):

Host raijin
  Hostname 130.95.25.32
  User 21230309 
  ForwardX11 yes

更改一下permissions

chmod 600 ~/.ssh/config

好啰,是见证奇迹的时候了,上面繁杂的代码可以简化成下面的例子,只要记住自己设定的服务器名称就可以轻松登录和传送了

# 连接服务器
ssh raijin
# scp 传输文件
scp yourfile raijin:/path/to/destination/

喂喂喂,但是还有个问题还没解决呀,你每次登录还是需要输入密码,不同服务器可能还是不同的密码,那还是很不方便呀。没问题,下面就解决第二个问题。

无密码登录远端传输文件的解决方案

第一步,创建公钥和私钥。敲一下命令行,安装提示把秘钥创建(你会要求连续输入两次你服务器的登录密码)

ssh-keygen

第二步拷贝公钥到远端服务器中

ssh-copy-id -i ~/.ssh/id_rsa.pub userid@MACHINENAME

第三步登录

ssh userid@MACHINENAME

###如果你按照上面设置好的话。使用下面这个更快。

ssh MACHINENAME

把这一切设置好之后,你就可以无需输入密码登录远端服务器了,还有无密码传输文件,很方便有没有。当然还有一点忘记说了,上面所说的一切都可以应用到你的服务器中,也就是说你可以把你服务器看作一个本地的电脑,然后把上面的设置设定好,这样你再服务器之间登录切换,和相互传输文件,都会简单得飞起。

好啰,这期推文到这就结束了,相信所有人都看懂了吧,那就我也去过五一去啦。Bye~

    原文作者:lakeseafly
    原文地址: https://www.jianshu.com/p/20183924245d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞