ssh 基本用法

栏目: 服务器 · 发布时间: 7年前

内容简介:做开发少不了要配置各种环境, 配置环境又少不了连接 Linux 服务器, SSH 可以说是最常用的协议了. 本文主要简单介绍 Linux 系统下使用 ssh 命令连接远程主机的一些基本用法.这三种方式都是基于口令登录的, 也就是说, 与服务器建立连接之前, 你需要输入密码确认.有时候我们需要频繁连接服务器, 比如看 log 或者是部署等应用场景, 每次都要输密码的话可谓是相当麻烦了. 好在 SSH 提供了公钥登录的方法, 可以省去输密码的步骤.

做开发少不了要配置各种环境, 配置环境又少不了连接 Linux 服务器, SSH 可以说是最常用的协议了. 本文主要简单介绍 Linux 系统下使用 ssh 命令连接远程主机的一些基本用法.

基本用法

  • 以用户名 “user” 连接远程主机 “host”

    ssh user@host
    
  • 如果本机用户名和远程主机用户名一致, 可以省略 “user”

    ssh host
    
  • 指定端口登录远程主机

    ssh 默认端口是 22, 如果远程主机更换了默认端口, 那么本机也可以使用 -p 参数指定端口登录:

    ssh -p port user@host
    

这三种方式都是基于口令登录的, 也就是说, 与服务器建立连接之前, 你需要输入密码确认.

公钥登录

有时候我们需要频繁连接服务器, 比如看 log 或者是部署等应用场景, 每次都要输密码的话可谓是相当麻烦了. 好在 SSH 提供了公钥登录的方法, 可以省去输密码的步骤.

所谓 “公钥登录”,原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录 shell,不再要求密码。

这种方法要求用户提供自己的公钥. 如果没有现成的公钥, 可以自己生成一个:

ssh-keygen

运行上述命令后系统会出现一系列提示, 一路回车即可. 如果担心自己私钥的安全, 这里可以对私玥设置一个口令.

命令执行结束后会在本机 $HOME/.ssh/ 目录下生成两个文件: “id_rsa.pub” 和 “id_rsa”. 前者是你的公钥, 后者是你的私钥.

接着输入以下指令, 将自己的公钥上传到远程主机:

ssh-copy-id user@host

此后, 登录远程主机便不再需要输入密码了.

如果还是不行, 就打开远程主机的 “/etc/ssh/sshd_config” 这个文件, 取消下面几行配置前面的 “#” 注释.

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

然后重启远程主机的 ssh 服务:

# Ubuntu 系统
serivce ssh restart
# debian 系统
/etc/init.d/ssh restart

authorized_keys 文件

这里是扩展阅读部分, 按需查看即可.

远程主机将用户的公钥保存在 “$HOME/.ssh/authorized_keys” 文件中. 公钥的本质是一个字符串, 上面 ssh-copy-id 命令的作用就是把自己的公钥追加到了远程主机的 “authorized_keys” 文件中.

可以使用下面的命令实现 ssh-copy-id 命令相同的效果:

ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

这条命令由多个语句组成, 依次分解开来看:

  1. “$ ssh user@host”,表示登录远程主机;
  2. 单引号中的 mkdir .ssh && cat >> .ssh/authorized_keys,表示登录后在远程 shell 上执行的命令;
  3. “$ mkdir -p .ssh” 的作用是,如果用户主目录中的. ssh 目录不存在,就创建一个;
  4. ‘cat >> .ssh/authorized_keys’ < ~/.ssh/id_rsa.pub 的作用是,将本地的公钥文件~/.ssh/id_rsa.pub,重定向追加到远程文件 authorized_keys 的末尾。

写入 authorized_keys 文件后,公钥登录的设置就完成了.


以上所述就是小编给大家介绍的《ssh 基本用法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

轻快的Java

轻快的Java

(美)塔特、杰兰德/国别:中国大陆 / 张晓坤 / 中国电力出版社 / 2006-7 / 29.00元

Java的开发者正深陷于复杂性的泥沼中而无法自拔。我们的经验和能力正接近极限,程序员为了编写支持所选框架的程序所花的时间比解决真正问题的时间要多得多。我们不禁要问,有必要把Java搞得这么复杂吗?   答案是否定的。本书给你指引了一条出路。无论是维护应用程序,还是从头开始设计,你都能够超越成规,并大幅精简基本框架、开发过程和最终代码。你能重新掌握一度失控的J2EE应用程序。   在本书......一起来看看 《轻快的Java》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具