欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ssh常见用法

程序员文章站 2022-04-30 09:25:04
...

在 Linux 系统上 SSH 是非常常用的工具,通过 SSH Client 我们可以连接到运行了 SSH Server 的远程机器上。

SSH Client 的基本使用方法是:

ssh [email protected] -p port
  • user 是你在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote 是远程机器的地址,可以是 IP,域名,或者是后面会提到的别名
  • port 是 SSH Server 监听的端口,如果不指定的话就为默认值 22

免密码登入

ssh-******
每次 ssh 都要输入密码是不是很烦呢?与密码验证相对的,是公钥验证。也就是说,要实现免密码登入,首先要设置 SSH 钥匙。

要让远程机器记住我们的公钥。最简单的方法是 ssh-copy-id [email protected] -p port

配置别名

每次都输入 ssh [email protected] -p port,时间久了也会觉得很麻烦,特别是当 user, remote 和 port 都得输入,而且还不好记忆的时候。配置别名可以让我们进一步偷懒。

比如我想用 ssh lab 来替代上面这么一长串,那么在 ~/.ssh/config 里面追加以下内容:

Host myserver
    HostName remote
    User user
    Port port

保存之后,即可用 ssh myserver 登入,如果还配置了公钥登入,那就连密码都不用输入了。

传输文件

在两台机之间传输文件可以用 scp,它的地址格式与 ssh 基本相同,都是可以省略用户名和端口,稍微的差别在与指定端口时用的是大写的 -P 而不是小写的。不过,如果你已经配置了别名,那么这都不重要,因为 scp 也支持直接用别名。scp 用起来很简单,看看下面的例子就明白了:

# 把本地的 /path/to/local/file 文件传输到远程的 /path/to/remote/file
scp -P port /path/to/local/file [email protected]:/path/to/remote/file

# 也可以使用别名
scp /path/to/local/file lab:/path/to/remote/file

# 把远程的 /path/to/remote/file 下载到本地的 /path/to/local/file
scp lab:/path/to/remote/file /path/to/local/file

# 远程的默认路径是家目录
# 下面命令把当前目录下的 file 传到远程的 ~/dir/file
scp file lab:dir/file

# 加上 -r 命令可以传送文件夹
# 下面命令可以把当前目录下的 dir 文件夹传到远程的家目录下
scp -r dir lab:

# 别忘了 . 可以用来指代当前目录
# 下面命令可以把远程的 ~/dir 目录下载到当前目录里面
scp -r lab:dir/ .

ubuntu 通过SSH将远程服务器挂载到本地

可以使用sshfs通过SSH隧道通过网络安全地安装远程文件夹。
安装sshfs:

$ sudo apt-get install sshfs

将服务器上的文件夹安装到本地文件夹

$ sshfs [email protected]:/path/to/folder /path/to/mount/point

通过fusermount卸载目录:

$ fusermount -u /path/to/mount/point
相关标签: tips linux