执行高级 SSH
从远程位置在任何网络上工作时,我们发现自己正在访问网络中我们想要通过 SSH 访问的一些 Linux 服务器。我们可以在网络中从一个设备跳转到另一个设备。这样做的原因是,当我们的 VTY ACL 由一个 IP 组成时,即使我们有很多管理员,它也可以更轻松地保护网络。网络访问控制列表或 ACL指定哪些系统进程被授予对对象的访问权限以及允许它们进行哪些操作。还有谁用时间戳登录了什么的记录。借助 Linux 的强大功能,SSH 可以带来很多乐趣。
设置别名
打开.bashrc文件(使用 vi 或 pico 或任何其他文本编辑器)。这是一个示例: .bashrc文件位于主目录中。
输入以下命令编辑文件
vi ~/.bashrc
现在在文件中进行以下更改。
alias s='ssh'
alias sc='ssh -l anyusername'
这种更聪明的方法的原因是将输入的字符减少了 66%。每当我们需要通过 SSH 连接到具有给定 IP 的设备时,我们可以简单地使用s 192.168.1.1 。此外,对于sc 192.168.1.1 , ssh -l 命令将打开一个本地端口。我们发送到该端口的所有内容都通过 ssh 连接并通过服务器离开。
编辑 /etc/ssh/ssh_config 文件
默认情况下,我们的 ssh 用户名将是我们登录 Linux 机器的用户名。 /etc/ssh/ssh_config 中的 ssh_config 文件将被更改。使用以下命令编辑文件:
vi /etc/ssh/ssh_config
在文件中添加以下行:
Host *
User myname.acs
使用以下命令更改文件的权限:
sudo chmod 777 /etc/ssh/ssh_config
现在,如果我们简单地尝试 ssh 到任何设备,我们将看到用户名默认更改为 myname.acs。
更改特定子网的用户名
现在我们经常会发现 192.168.5.x 网络的网络块下有多个设备都使用相同的用户名“Henry.acs”进行身份验证。可以配置 ssh 以在 SSH 之前使用特定用户名查找我们尝试去的地方。回到编辑文件:
vi /etc/ssh/ssh_config
在文件顶部添加以下行:
Host 192.168.5.*
User adifferenetusername
使用密钥而不是密码登录
如果您尝试从一台 Linux 机器 ssh 到另一台机器,则使用身份验证密钥而不是密码更安全、更方便。这使得大多数外部中间人攻击的连接更加安全。