前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生物信息基础(一):SSH应用,如何优雅地登录远程服务器?

生物信息基础(一):SSH应用,如何优雅地登录远程服务器?

作者头像
简说基因
发布2020-11-19 16:38:08
1.1K0
发布2020-11-19 16:38:08
举报
文章被收录于专栏:简说基因

作为一名生信工程师,每天都要跟服务器打交道,如何登录到远程服务器上去呢?通常有两种方法:

  • 通过专用软件登录,常用的有:
    • Xshell, 收费软件(支持平台:Windows, Mac, Linux等)
    • SecureCRT,收费软件(支持平台:Windows)
  • 通过终端利用SSH连接,前提你要是Unix-like系统,如:
    • Mac,自带终端或者iTerm2(推荐)
    • Linux(Ubuntu, Centos等)
    • Windows 10安装Ubutun子系统(具体可以百度搜索安装方法),推荐用自带的Windows Terminal

本文着重介绍一种优雅的,通过SSH免密登录远程服务器的方法。

1 什么是SSH

SSH是Secure Shell的缩写, 由IETF的网络小组(Network Working Group)所制定, 是建立在应用层基础上的安全协议。

SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

不同主机间安全通信时进行SSH认证有2种方式:

a. 基于密码的认证:每次登录时都要输入用户名和密码,由于密码在网上传输,存在被攻击的风险;

b. 基于密钥的安全认证:配置完成后可以实现免密登录,这种方式更加安全和方便——不需要在网络上传递口令,只需要一次配置。常见的GitHub网站的SSH方式就是通过密钥进行的。

2 SSH登录命令

在终端内输入以下命令,其中@符号前面的username是用户名,后面的host是远程主机的IP地址:

$ssh username@host

3 配置SSH免密登录

生成密钥对,在终端中输入如下命令,注意美元符号$代表命令提示符,下同。

$ssh-keygen

一路回车,在~/.shh目录下生成了2个文件:id_rsa(私钥,放在本地机器上), id_rsa.pub(公钥,放到要远程登录的机器上)

然后通过密码形式登录目标服务器, 进入~/.ssh目录, 新建一个名为authorized_keys的文件,将id_rsa.pub中的内容拷贝到其中。

ssh登录,发现还是需要输入登录密码,这是因为还需要正确配置文件的权限。

a. 对于.ssh目录以及其内部的公钥、私钥文件,当前用户至少要有执行权限,其他用户最多只能有执行权限;

b. 对于普通用户,建议设置成600权限:

$chmod 600 id_rsa

$chmod 600 authorized_keys

c. 对root用户,建议设置成644权限

$chmod 644 id_rsa

$chmod 644 authorized_keys

至此,再次通过ssh命令远程登录服务器,以及本地电脑与服务器之间互相拷贝文件,都不再需要输入密码了。

顺便再介绍一下机器间拷贝文件的scp命令:

  • 本地文件拷贝到服务器

$scp file.txt username@host:/home/username/file.txt,这个命令会将本地电脑上的file.txt文件拷贝到服务器上的/home/username/目录下

  • 服务器文件拷贝到本地

$scp username@host:/home/username/file.txt file.txt,这个命令会将服务器上的file.txt拷贝到本地电脑的当前目录下。

正所谓“工欲善其事,必先利其器”,登录事虽小,但却是每日的刚需。

优化我们的工作流程,从一件一件小事做起。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 简说基因 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 什么是SSH
  • 2 SSH登录命令
  • 3 配置SSH免密登录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档