red
与自己的价值观。~/.ssh/authorized_keys
。此文件包含有权登录此帐户的公钥的列表,每行一个。
当客户端连接到主机时,希望使用SSH密钥身份验证,它将通知服务器此意图,并告知服务器要使用哪个公钥。然后,服务器检查它authorized_keys
文件的公共密钥,生成一个随机字符串,并使用公钥加密。此加密消息只能使用关联的私钥进行解密。服务器将这个加密的消息发送到客户端,以测试它们是否实际上具有相关联的私钥。
在接收到该消息时,客户端将使用私钥对其进行解密,并将所显示的随机串与先前协商的会话ID组合。然后它生成此值的MD5哈希值并将其发送回服务器。服务器已经具有原始消息和会话ID,因此它可以比较由这些值生成的MD5散列并确定客户端必须具有私钥。
现在你知道SSH的工作原理,我们可以开始讨论一些例子来演示使用SSH的不同方法
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa):
此提示允许您选择存储RSA私钥的位置。按ENTER键离开这个作为默认,将它们存储在.ssh
在用户的主目录隐藏目录。保留所选的默认位置将允许您的SSH客户端自动查找密钥。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
下一个提示允许您输入任意长度的密码,以保护您的私钥。默认情况下,您必须在每次使用私钥时输入您在此处设置的任何密码,作为额外的安全措施。如果您不想要密码,请随意按Enter键留空。请记住,这将允许任何获得您的私钥的控制权登录到您的服务器。
如果您选择输入密码,则在您输入时不会显示任何内容。这是一个安全预防措施。
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
8c:e9:7c:fa:bf:c4:e5:9c:c9:b8:60:1f:fe:1c:d3:8a root@here
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| + |
| o S . |
| o . * + |
| o + = O . |
| + = = + |
| ....Eo+ |
+-----------------+
这一程序产生一个RSA SSH密钥对,位于.ssh
你的用户的主目录中隐藏的目录。这些文件是:
~/.ssh/id_rsa
:私钥。不要共享这个文件!~/.ssh/id_rsa.pub
:相关的公共密钥。这可以自由地共享而不带后果。-b
跟你想的位数参数。大多数服务器支持长度至少为4096位的密钥。对于DDOS保护,可能不接受较长的密钥:
ssh-keygen -b 4096
如果您以前创建了不同的密钥,系统将询问您是否要覆盖以前的密钥:
Overwrite (y/n)?
如果选择“是”,您的以前的密钥将被覆盖,您将无法再使用该密钥登录到服务器。因此,请务必小心覆盖键。
ssh-keygen -p
Enter file in which the key is (/root/.ssh/id_rsa):
您可以键入要修改的键的位置,或按ENTER键接受默认值:
Enter old passphrase:
输入要更改的旧密码。然后系统会提示您输入新的密码:
Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
在这里,输入您的新密码或按ENTER键删除密码。
ssh-keygen -l
Enter file in which the key is (/root/.ssh/id_rsa):
如果是键的正确位置,您可以按ENTER键,否则输入修改的位置。您将获得一个字符串,其中包含密钥的位长度,指纹,以及为其创建的帐户和主机以及所使用的算法:
4096 8e:c4:82:47:87:c2:26:4b:68:ff:96:1a:39:62:9e:4e demo@test (RSA)
ssh-copy-id
安装工具,这是一个简单的过程。 在ssh-copy-id
工具包含在许多Linux发行版'的OpenSSH软件包,所以它很可能会被默认安装。
如果您有此选项,则可以通过键入以下内容轻松转移公钥:
ssh-copy-id username@remote_host
这将提示您输入远程系统上的用户帐户密码:
The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
demo@111.111.11.111's password:
在密码输入后,你的内容~/.ssh/id_rsa.pub
键将被追加到用户帐户年代末~/.ssh/authorized_keys
文件:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'demo@111.111.11.111'"
and check to make sure that only the key(s) you wanted were added.
您现在可以在没有密码的情况下登录该帐户:
ssh username@remote_host
ssh-copy-id
工具可用,但还是要在远程服务器的基于密码的SSH访问,你可以用不同的方式复制你的公钥的内容。
您可以输出的关键和管道入的内容ssh
命令。 在远程端,可以确保~/.ssh
目录中,然后将管道内容附加到~/.ssh/authorized_keys
文件:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
系统将要求您提供远程帐户的密码:
The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
demo@111.111.11.111's password:
输入密码后,您的密钥将被复制,允许您在没有密码的情况下登录:
ssh username@remote_IP_host
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== demo@test
您可以复制此值,并将其手动粘贴到远程服务器上的相应位置。您将必须通过其他方式登录远程服务器(如DigitalOcean Web控制台)。
在远程服务器上,创建~/.ssh
目录,如果它不存在:
mkdir -p ~/.ssh
之后,您可以创建或追加~/.ssh/authorized_keys
通过输入文件:
echo public_key_string >> ~/.ssh/authorized_keys
您现在应该可以在没有密码的情况下登录远程服务器。
ssh
命令。
最简单的形式假定您的本地计算机上的用户名与远程服务器上的用户名相同。如果这是真的,您可以使用:
ssh remote_host
如果您的用户名在远程服务器上不同,您需要传递远程用户的名称,如下所示:
ssh username@remote_host
您第一次连接到新主机时,会看到类似以下内容的消息:
The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
键入“yes”以接受远程主机的真实性。
如果您使用密码认证,则将在此处提示您输入远程帐户的密码。如果使用SSH密钥,将提示您输入私钥的密码(如果设置了密码),否则将自动登录。
ssh username@remote_host command_to_run
这将连接到远程主机,使用您的凭据进行身份验证,并执行您指定的命令。连接将立即关闭。
-p
选项:
ssh -p port_num username@remote_host
要避免这一点,你登录到远程服务器都必须这样做,你可以创建或编辑配置文件~/.ssh
本地计算机的主目录中的目录。
现在通过键入以下命令来编辑或创建文件:
nano ~/.ssh/config
在这里,您可以设置主机特定的配置选项。要指定新端口,请使用如下格式:
Host remote_alias
HostName remote_host
Port port_num
这将允许您登录,而不在命令行上指定特定的端口号。
eval $(ssh-agent)
Agent pid 10891
这将启动代理程序并将其放入后台。现在,您需要将您的私钥添加到代理,以便它可以管理您的密钥:
ssh-add
Enter passphrase for /home/demo/.ssh/id_rsa:
Identity added: /home/demo/.ssh/id_rsa (/home/demo/.ssh/id_rsa)
您必须输入密码(如果设置了密码)。然后,您的身份文件将添加到代理,允许您使用您的密钥登录,而不必再次输入密码。
-A
选项。这会将您的凭据转发到此会话的服务器:
ssh -A username@remote_host
从这里,您可以SSH到您的SSH密钥有权访问的任何其他主机。您将连接,就像您的私有SSH密钥位于此服务器上一样。
/etc/ssh/sshd_config
以root或sudo权限的文件:
sudo nano /etc/ssh/sshd_config
里面的文件,搜索PasswordAuthentication
指令。如果已注释掉,请取消注释。将其设置为“no”以禁用密码登录:
PasswordAuthentication no
完成更改后,保存并关闭文件。要实施更改,应重新启动SSH服务。
在Ubuntu / Debian:
sudo service ssh restart
在CentOS / Fedora上:
sudo service sshd restart
现在,系统上的所有帐户将无法使用SSH使用密码登录。
sshd_config
,或者用该用户登录或使用具有root权限的远程系统上的文件sudo
:
sudo nano /etc/ssh/sshd_config
一旦你里面,你可以更改SSH通过查找运行在端口Port 22
规格和修改,以反映您希望使用的端口。例如,要将端口更改为4444,请将其放在您的文件中:
#Port 22
Port 4444
保存并在完成后关闭文件。要实施更改,必须重新启动SSH守护程序。
在Ubuntu / Debian:
sudo service ssh restart
在CentOS / Fedora上:
sudo service sshd restart
守护程序重新启动后,您将需要通过指定端口号进行身份验证(在前面的部分中演示)。
sudo nano /etc/ssh/sshd_config
指定允许使用的登录帐户的第一种方法AllowUsers
指令。 搜索AllowUsers
文件中的指令。如果不存在,请在任何地方创建。在指令后,列出应该允许通过SSH登录的用户帐户:
AllowUsers user1 user2
保存并关闭文件。重新启动守护程序以实施更改。
在Ubuntu / Debian:
sudo service ssh restart
在CentOS / Fedora上:
sudo service sshd restart
如果你更舒适的分组管理,可以使用AllowGroups
指令来代替。如果是这种情况,只需添加一个应允许SSH访问的组(我们将创建此组并立即添加成员):
AllowGroups sshmembers
保存并关闭文件。
现在,您可以通过键入以下内容创建与您指定的组匹配的系统组(无主目录):
sudo groupadd -r sshmembers
请确保您将所需的任何用户帐户添加到此群组。这可以通过输入:
sudo usermod -a -G sshmembers user1
sudo usermod -a -G sshmembers user2
现在,重新启动SSH守护程序以实现更改。
在Ubuntu / Debian:
sudo service ssh restart
在CentOS / Fedora上:
sudo service sshd restart
sudo
权限。
为此,请使用远程服务器上的root或sudo打开SSH守护程序配置文件。
sudo nano /etc/ssh/sshd_config
在内部,寻找一个叫指令PermitRootLogin
。如果已评论,请取消注释。将值更改为“no”:
PermitRootLogin no
保存并关闭文件。要实施更改,请重新启动SSH守护程序。
在Ubuntu / Debian:
sudo service ssh restart
在CentOS / Fedora上:
sudo service sshd restart
authorized_keys
文件,其中包含被授权使用的帐户SSH密钥。
添加从本地计算机,你想使用这个过程(我们建议您为每个自动处理新的密钥),以root用户的密钥authorized_keys
在服务器上的文件。 我们将与展示ssh-copy-id
这里的命令,但你可以使用任何的复制钥匙我们在其他章节讨论的方法:
ssh-copy-id root@remote_host
现在,登录到远程服务器。我们需要调整的项authorized_keys
文件,所以以root或sudo访问打开它:
sudo nano /root/.ssh/authorized_keys
在与您上传的键行的开头,添加一个command=
房源的定义,这关键是有效的命令。这应该包括可执行文件的完整路径,加上任何参数:
command="/path/to/command arg1 arg2" ssh-rsa ...
保存并在完成后关闭文件。
现在,打开sshd_config
以root或sudo权限的文件:
sudo nano /etc/ssh/sshd_config
找到该指令PermitRootLogin
,并将值更改为forced-commands-only
。这将只允许SSH密钥登录在为密钥指定命令时使用root:
PermitRootLogin forced-commands-only
保存并关闭文件。重新启动SSH守护程序以实施更改。
在Ubuntu / Debian:
sudo service ssh restart
在CentOS / Fedora上:
sudo service sshd restart
sshd_config
文件,以root或使用sudo特权:
sudo nano /etc/ssh/sshd_config
搜索X11Forwarding
指令。如果已注释掉,请取消注释。如果需要,创建它,并将值设置为“yes”:
X11Forwarding yes
保存并关闭文件。重新启动SSH守护程序以实现这些更改。
在Ubuntu / Debian:
sudo service ssh restart
在CentOS / Fedora上:
sudo service sshd restart
要连接到服务器并转发应用程序的显示,您必须通过-X
连接时从客户端选项:
ssh -X username@remote_host
通过此会话在服务器上启动的图形应用程序应显示在本地计算机上。性能可能有点慢,但它是非常有用的捏。
~/.ssh/config
的文件,这是由你的SSH客户端每次调用时读取。
在本地计算机上的文本编辑器中创建或打开此文件:
nano ~/.ssh/config
在里面,你可以通过引入每一个单独的定义配置选项Host
关键字,后跟一个别名。 此之下缩进和,你可以定义任何的发现指令ssh_config
的手册页:
man ssh_config
示例配置将是:
Host testhost
HostName example.com
Port 4444
User demo
然后,您可以连接到example.com
上的4444端口使用的用户名只需键入“演示”:
ssh testhost
您还可以使用通配符匹配多个主机。请记住,稍后的匹配可以覆盖先前的匹配。因此,你应该把你最一般的比赛在顶部。例如,您可能会违约的所有连接,不允许X转发,与覆盖了example.com
通过在文件中有这样的:
Host *
ForwardX11 no
Host testhost
HostName example.com
ForwardX11 yes
Port 4444
User demo
保存并在完成后关闭文件。
~/.ssh/config
文件。立即打开:
nano ~/.ssh/config
如果尚不存在,请在文件顶部定义一个与所有主机匹配的部分。设置ServerAliveInterval
到“120”,以一个数据包发送到服务器每隔两分钟。这应该足以通知服务器不要关闭连接:
Host *
ServerAliveInterval 120
保存并在完成后关闭文件。
The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
这是配置使您可以验证您尝试连接到的主机的真实性,并发现恶意用户可能试图伪装为远程主机的实例。
在某些情况下,您可能希望禁用此功能。 注意 :这可能是一个很大的安全隐患,所以一定要确保你知道,如果你设置你的系统这样的你在做什么。
要进行更改,在打开~/.ssh/config
本地计算机上的文件:
nano ~/.ssh/config
如果尚不存在,请在文件顶部定义一个与所有主机匹配的部分。设置StrictHostKeyChecking
指令“不”会自动添加新主机到known_hosts
文件。 将UserKnownHostsFile
来/dev/null
不上新增或更改主机警告:
Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
您可以通过反转其他主机的选项来逐个启用检查。默认StrictHostKeyChecking
是“问”:
Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Host testhost
HostName example.com
StrictHostKeyChecking ask
UserKnownHostsFile /home/demo/.ssh/known_hosts
nano ~/.ssh/config
如果还没有在文件的顶端wildcard宿主定义,现在添加一个(如Host *
)。 我们将设置ControlMaster
, ControlPath
和ControlPersist
价值观,建立我们的复用配置。
该ControlMaster
应能设置为“自动”如果有可能允许自动复用。 该ControlPath
将建立控制插座的路径。第一个会话将创建此套接字,并且后续会话将能够找到它,因为它由用户名,主机和端口标记。
设置ControlPersist
选项设置为“1”,将允许初步掌握连接后台运行。 “1”指定TCP连接应在最后一次SSH会话关闭后一秒钟自动终止:
Host *
ControlMaster auto
ControlPath ~/.ssh/multiplex/%r@%h:%p
ControlPersist 1
保存并在完成后关闭文件。现在,我们需要实际创建我们在控制路径中指定的目录:
mkdir ~/.ssh/multiplex
现在,使用同一台机器建立的任何会话将尝试使用现有的套接字和TCP连接。当最后一个会话存在时,连接将在一秒钟后被删除。
如果由于某种原因,你需要暂时绕过复用配置,你可以通过传递这样做-S
标志和“无”:
ssh -S none username@remote_host
-L
参数连接,你必须提供三个附加信息时:
-L
标志。 我们也将使用-f
标志,这将导致SSH进入执行前的背景和-N
标志,它不会打开一个外壳或远端执行程序。
例如,要连接到example.com
的80端口的远程主机上,从而可以在本地机器上8888端口的连接,您可以键入:
ssh -f -N -L 8888:example.com:80 username@remote_host
现在,如果你点你的本地Web浏览器127.0.0.1:8888
,你应该看到什么内容是example.com
上的端口80。
语法的更一般指南是:
ssh -L your_port:site_or_IP_to_access:site_port username@host
由于连接是在后台,你将不得不找到它的PID来杀死它。您可以通过搜索您转发的端口执行此操作:
ps aux | grep 8888
1001 5965 0.0 0.0 48168 1136 ? Ss 12:28 0:00 ssh -f -N -L 8888:example.com:80 username@remote_host
1001 6113 0.0 0.0 13648 952 pts/2 S+ 12:37 0:00 grep --colour=auto 8888
然后,您可以通过定位PID来终止进程,PID是与您的SSH命令匹配的行的第二列中的数字:
kill 5965
另一种选择是开始不连接-f
标志。这将保持连接在前台,阻止您在转发期间使用终端窗口。这样做的好处是,您可以通过键入“CTRL-C”轻松地终止隧道。
-R
参数连接,你必须提供三个附加信息时:
-R
标志。 我们也将使用-f
标志,这将导致SSH进入执行前的背景和-N
标志,它不会打开一个外壳或远端执行程序。
例如,要连接到example.com
端口80上的本地计算机上,使得我们对8888端口远程主机上的可用连接,您可以键入:
ssh -f -N -R 8888:example.com:80 username@remote_host
现在,在远程主机上,打开Web浏览器127.0.0.1:8888
将让你看到什么内容是example.com
上的端口80。
语法的更一般指南是:
ssh -R remote_port:site_or_IP_to_access:site_port username@host
由于连接是在后台,你将不得不找到它的PID来杀死它。您可以通过搜索您转发的端口执行此操作:
ps aux | grep 8888
1001 5965 0.0 0.0 48168 1136 ? Ss 12:28 0:00 ssh -f -N -R 8888:example.com:80 username@remote_host
1001 6113 0.0 0.0 13648 952 pts/2 S+ 12:37 0:00 grep --colour=auto 8888
然后,您可以通过定位与您的SSH命令匹配的行中的PID(第二列中的数字)来终止进程:
kill 5965
另一种选择是开始不连接-f
标志。这将保持连接在前台,阻止您在转发期间使用终端窗口。这样做的好处是,您可以通过键入“CTRL-C”轻松地终止隧道。
-D
标志用在这里我们希望访问隧道的本地端口一起。 我们也将使用-f
标志,这将导致SSH进入执行前的背景和-N
标志,它不会打开一个外壳或远端执行程序。
例如,要在端口“7777”上建立隧道,可以键入:
ssh -f -N -D 7777 username@remote_host
从这里,您可以开始将您的SOCKS感知应用程序(如Web浏览器)指向您选择的端口。应用程序将其信息发送到与端口关联的套接字中。
将流量定向到SOCKS端口的方法因应用程序而异。例如,在Firefox中,常规位置是首选项>高级>设置>手动代理配置。在Chrome中,你可以开始与应用--proxy-server=
标志设置。您将要使用localhost接口和您转发的端口。
由于连接是在后台,你会发现它的PID杀死它。您可以通过搜索为你转发的端口这样做:
ps aux | grep 8888
1001 5965 0.0 0.0 48168 1136 ? Ss 12:28 0:00 ssh -f -N -D 7777 username@remote_host
1001 6113 0.0 0.0 13648 952 pts/2 S+ 12:37 0:00 grep --colour=auto 8888
然后,您可以通过针对PID,这是你的SSH命令相匹配的行第二列的数量,杀死进程:
kill 5965
另一种选择是启动连接而不的-f
标志。这将保持在前台的连接,以防止从使用终端窗口转发的持续时间。这样做的好处是,你可以很容易地通过键入“CTRL-C”杀隧道。
~
SSH会话中的控制字符。如果他们是一个新行输入后的第一件事就是控制命令将只进行解释,所以总是按ENTER键之前,使用一个一至两次。
其中最有用的控制是从客户端启动一断开的能力。SSH连接通常由服务器关闭,但如果服务器从问题,或者如果连接已断患有这可能是一个问题。通过使用客户端的断开,连接,可以干净地从客户端关闭。
要关闭从客户端的连接,使用控制字符(~
),以点。如果您的连接有问题,你可能会在这似乎是一个卡住终端会话。键入命令,尽管缺乏反馈执行客户端断开连接:
[ENTER]
~.
连接应立即关闭,并返回到本地shell会话。
~
从SSH连接内控制字符。如果他们是一个新行输入后的第一件事就是控制命令将只进行解释,所以总是按ENTER键之前,使用一个一至两次。
其中一个功能,该提供的是把一个SSH会话到背景。要做到这一点,我们需要提供控制字符(〜),然后执行常规的键盘快捷键后台任务(CTRL-Z):
[ENTER]
~[CTRL-z]
这将放置在连接到后台,并返回到本地shell会话。要返回到SSH会话,则可以使用常规作业控制机制。
通过键入您可以立即重新激活您最近后台运行的任务:
fg
如果你有多个后台运行的任务,你可以看到通过键入空缺职位:
jobs
[1]+ Stopped ssh username@some_host
[2] Stopped ssh username@another_host
然后,您可以通过与百分号第一列使用索引带来任何的任务,到前台:
fg %2
~
从SSH连接内控制字符。如果他们是一个新行输入后的第一件事就是控制命令将只进行解释,所以总是按ENTER键之前,使用一个一至两次。
一方面,这使得对于连接已建立之后,用户改变端口转发配置。这使您可以创建或推倒在即时端口转发规则。
这些功能是SSH命令行界面,它可以在会话中使用控制字符(访问的一部分~
)和“C”:
[ENTER]
~C
ssh>
您将得到一个SSH命令提示符下,其中有一个非常有限的有效命令。要查看可用的选项,您可以键入-h
从这个提示。如果返回什么都没有,你可能需要使用,以增加你的SSH输出的详细~v
几次:
[ENTER]
~v
~v
~v
~C
-h
Commands:
-L[bind_address:]port:host:hostport Request local forward
-R[bind_address:]port:host:hostport Request remote forward
-D[bind_address:]port Request dynamic forward
-KL[bind_address:]port Cancel local forward
-KR[bind_address:]port Cancel remote forward
-KD[bind_address:]port Cancel dynamic forward
正如你所看到的,你可以很容易地实现任何使用适当的选项转发选项(参见更多信息,转发部分)。您也可以摧毁一个隧道转发类型字母前用“K”指定相关的“杀”的命令。例如,为了杀一个本土前锋(-L
),你可以使用-KL
命令。您只需要提供端口这一点。
因此,要建立一个本地端口转发,你可以输入:
[ENTER]
~C
-L 8888:127.0.0.1:80
在本地计算机上的8888端口,现在将能够与您连接到主机上的Web服务器进行通信。当你完成,你可以通过键入推倒了前进:
[ENTER]
~C
-KL 8888
关注云架构公众号
Linux入门
QQ交流群:308781113