美文网首页
ssh的简介与常用用法

ssh的简介与常用用法

作者: valleygtc | 来源:发表于2020-01-09 23:21 被阅读0次

文档:

  • man ssh, ssh_config sshd, sshd_config

简介

ssh 为 secure shell 的英文缩写,是一种加密的网络传输协议。常用于登录远程服务器与在远程服务器上执行命令。

SSH 使用客户端-服务器模型,标准端口为 22。服务器端需要开启 SSH 守护进程接受远端的连接,而用户需要使用 SSH 客户端与服务端连接。

最常见的开源实现是 OpenSSH

基本用法:

登录:

$ ssh user@host # 如果不指明 user,默认使用当前用户。

在远程机器上执行 command,把 stdout,stderr 送回来然后断开连接:

$ ssh user@host [command]

常用参数:

  • -F configfile:指定配置文件,默认 ssh 会使用 ~/.ssh/config 中的配置。
  • -p port:指定端口号,默认使用标准端口号 22。

scp 远程传输文件

scp 是一个命令行工具,是英文 secure copy 的缩写,用于在服务器和客户端之间传输文件,操作类似cp。

使用注意点:远程主机名后要加个冒号再跟路径。如:

$ scp <path> <username>@<host>:/home/valleygtc # copy local file -> remote

$ scp <username>@<host>:/path <path> # copy remote file -> local

SSH 免密登录:

SSH 以非对称加密实现身份验证。身份验证有多种途径,可以使用密码来认证,也可以通过实现配置好的密钥文件来认证。

通过密钥认证登录的条件:

  1. 公钥(public key)储存在服务端的 ~/.ssh/authorized_keys 文件中。
  2. 私钥(private key)储存在客户端的 ~/.ssh/id_rsa 文件中即可。

我们通常使用 ssh-keygen 这个工具来生成公钥和私钥,如下:

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh # 仅允许自己读写此目录。

$ ssh-keygen -t rsa -b 4096 # RSA 算法。

这会生成两个文件 ~/.ssh/id_rsa~/.ssh/id_rsa.pub ,前者是私钥,我们应该小心保护,后者是公钥,应当将其放到服务端的 ~/.ssh/authorized_keys 中去,我们可以使用 ssh-copy-id 这个工具来完成:

$ ssh-copy-id -i .ssh/id_rsa.pub <username>@<host>

或者手动将其复制粘贴过去。

也可以使用如下命令:

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

通过跳板机来 ssh 连接服务器

跳板机,又常叫做“Bastion host”。

在企业中,业务服务器通常有 ip 限制,不允许直接从办公机登录,而是需要先登录一个跳板机,通过跳板机来登录业务服务器。

这样做的目的是:隔离内部网络,只允许从跳板机访问,那么我们只需要特别关注跳板机的安全配置就可以了,便于更好的进行安全控制。

我们可以配置 ssh 客户端,让 ssh 替我们处理跳板机的登录,避免多次输入命令的负担。

假设我们有跳板机 jumpserver 和 目标服务器 targetserver。

方法一、使用命令行的 -J 参数

$ ssh -J user@jumpserver:22 -p 22 root@targetserver

方法二、配置文件:~/.ssh/config

Host targetserver
  ProxyJump user@jumpserver:22

然后就可以直接:

$ ssh -p 22 root@targetserver

sshd 安全配置

sshd 的配置文件:/etc/ssh/sshd_config

我们可以修改 sshd 的默认配置来增强系统的安全性,以下是一些需要注意的配置项:

Port 22 # sshd 监听端口。我们通常不希望使用 22 这一标准端口,以减少恶意登录尝试。
PasswordAuthentication yes|no # 是否允许使用密码登录,默认为yes。出于安全考虑,最好禁用密码登录,仅允许通过密钥文件的方式登录,以降低密码被暴力破解的可能性。

参考:

相关文章

网友评论

      本文标题:ssh的简介与常用用法

      本文链接:https://www.haomeiwen.com/subject/wwwuactx.html