如果您运行一个或多个远程服务器,通常一整天都要花时间不断登录。
但不一定要这样。是时候学习如何只使用别名通过SSH高效登录、传输单个文件或目录、执行远程SSH命令以及轻松地将远程服务器装载到本地目录了。
节省大量时间的一个方法是位于~/.SSH/config的SSH-config文件。首先创建一个目录来存储用于使用以下命令登录服务器的所有SSH密钥:
mkdir -m 0600 $HOME/.ssh_keys现在将所有SSH密钥文件复制到这个目录中(例如。客户端.pem, 客户B.pem等)。接下来,通过运行以下命令在文本编辑器中打开~/.ssh/config文件:
nano ~/.ssh/config下面是将与远程服务器建立SSH连接的示例条目:
host clienta hostname 124.58.2276.80 user ubuntu IdentityFile ~/.ssh_keys/clienta.pem向~/.ssh/config文件中添加上面这样的行,每个服务器对应一个。然后按Ctrl+X保存并关闭文件,并按照提示操作。保存后,您现在可以通过SSH从终端内的任何目录登录到任何服务器,只需使用以下简单命令:
ssh clienta这将立即使用您在~/.ssh/config文件中指定的clienta主机下的信息将您登录到服务器。
无需创建持久登录会话,就可以使用scp命令轻松地将单个文件或目录上载到远程服务器,例如:
scp report.pdf clienta:~/上面的命令将上传报告.pdf文件从您的本地计算机到您在上一节中定义的clienta服务器的主目录。您可以上载到主目录以外的目录,例如:
scp about.html clienta:/home/clienta/public_html以上内容将上传关于.html文件到远程clienta服务器上的/home/client/public\u html目录。也可以使用-r选项上载整个目录,例如:
scp -r Documents clienta:~/docs这会将整个~/Documents目录从本地计算机上载到远程服务器的~/docs目录。
类似地,您可以使用rcp命令将文件或目录下载到本地计算机,而无需创建持久登录会话,例如:
rcp clienta:~/public_html/about.html myproject/about.html以上内容将下载公共网页/关于.html文件,并将其放入项目中/关于.html本地计算机上的文件。
另一个快速提示是,您可以在远程服务器上执行单个Linux命令,而无需持久登录会话,例如:
ssh clienta ls上面的命令将在远程clienta>;服务器上执行ls命令,并列出所有文件/目录,而不保持您登录服务器的状态。例如,如果要重新启动服务器,可以使用:
ssh clienta /**in/shutdown -rf now让我们通过创建一个用户帐户本地的/bin/目录来扩展这一点,以便轻松地装载到远程服务器。打开计算机上的终端,通过运行以下命令创建/bin/目录:
mkdir -m 0755 ~/bin接下来,使用以下命令在文本编辑器中打开~/.profile文件:
nano $HOME/.profile向下滚动到文件的最底部,将以下行复制到剪贴板,然后按Ctrl+Shift+V在终端中添加:
if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi按Ctrl+X保存并关闭文件,然后按照提示操作。这将保存.profile文件,该文件将检查新创建的local/bin/目录中您尝试运行的任何命令。
首先,使用以下命令检查您的计算机上是否安装了sshfs:
sshfs --version如果这个打印出当前版本的sshfs,那么你就可以了。否则,如果收到“command not found”错误,可以使用以下命令安装sshfs:
sudo apt-get -y install sshfs现在创建一个/mnt/目录,其中包含所有安装到远程服务器的目录。在终端中运行以下命令:
mkdir -m 0755 ~/mnt mkdir -m 0755 ~/mnt/clienta mkdir -m 0755 ~/mnt/clientb继续为可能装载到的每个远程服务器创建一个子目录。接下来,让我们创建要运行的shell命令,例如,对于clienta服务器,通过在terminal中运行以下命令来打开一个文件:
nano ~/bin/mount_clienta用适当的服务器信息修改下面的行,然后按CTRL+Shift +V将其复制并粘贴到终端中的空白文本编辑器中:
#!/bin/bash sshfs -o IdentityFile=~/.ssh_keys/clienta.pem [email protected]:/var/www ~/mnt/clienta按Ctrl+X保存并关闭文件,然后按照提示关闭文件。最后,通过运行以下命令更改文件的权限,使其可执行:
chmod 0755 ~/bin/mount_clienta现在,无论何时您需要装载到clienta的远程服务器以向其传输文件或从中传输文件,只要从终端中的任何目录运行以下命令即可:
mount_clienta本地计算机上位于~/mnt/clienta的目录现在将装入远程服务器的/var/www目录。您可以像复制任何本地目录一样开始在目录中复制文件,并且在远程服务器上执行必要的操作。
希望上面的提示有助于简化和提高远程服务器连接的管理效率。在本文中,您了解了~/.ssh/config文件的所有内容,该文件允许您仅使用别名通过ssh登录、传输单个文件/目录、执行远程ssh命令,以及如何轻松地将本地目录装载到远程服务器。
服务器管理仍然是一项必要的任务,有时也很麻烦。使用远程服务器或无头服务器尤其困难。谢天谢地,有了安全Shell(SSH)。secureshell是一种网络协议,允许网络服务在不安全的网络上运行。 ...
...一个伟大的方式来揭示你内心的机器人先生。还有什么比使用最先进的黑客工具包更好的方法来培养这些技能呢? ...
...Windows中运行Linux软件吗?当您需要访问终端时,是否卡在使用Microsoft操作系统?别再担心了。您可以选择几个选项来享受Linux环境,甚至可以在Windows中运行Linux软件。 ...
... 在SSH开发之前,用户和管理员使用不安全的网络协议(如Telnet)与远程设备通信。这些现已过时的协议以明文形式发送密码和登录信息等关键信息,使它们成为攻击者的容易攻击目标。 ...
...否担心丢失数据,或者厌倦了每天或每周执行手动备份?使用rsync命令,无需手动干预即可根据需要将本地文件自动同步到远程服务器。请注意,本指南确实需要访问远程Linux服务器(如AWS),并且是在Ubuntu20.04下编写的,尽管任...
使用基于浏览器的管理和仪表板工具Cockpit,您可以轻松地监视和管理多台Linux计算机。它是独立的,设置简单,使用方便。我们将向您展示如何开始。 管理多个linux服务器 如果您要监视多台Linux计算机或服务器,您将面临一个...
使用Linux screen命令,您可以将正在运行的终端应用程序推到后台,并在希望看到它们时将它们向前拉。它还支持分屏显示,并通过SSH连接工作,即使在断开和重新连接之后也是如此! 什么是屏幕命令(the screen command)? screen命令...
...名称可以互换地表示SSH协议本身或允许系统管理员和用户使用该协议与远程计算机进行安全连接的软件工具。 SSH协议是一种加密协议,用于在不安全的网络(如internet)上提供安全连接。Linux中的SSH构建在OpenSSH项目的可移植版本...
...火墙端口来保护服务器的方法,即使您知道这些端口将被使用。当且仅当连接请求提供秘密敲门时,这些端口才按需打开。 左舷敲击是“秘密敲击” 在20世纪20年代,当禁酒令如火如荼的时候,如果你想进入一个酒吧,你必须...