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
上一篇: 从if-else的参数校验中解放出来
下一篇: smokeping