ssh
并指定该服务器上存在的用户名以及服务器的 IP 地址或主机名。如果这是第一次与指定的服务器建立连接,系统将提示用户首先验证服务器的指纹:yes
来接受密钥的指纹时,密钥的副本将保存到用户主目录中的 .ssh/known_hosts。以后的登录尝试将根据保存的密钥进行验证,如果服务器的密钥与保存的密钥不匹配,ssh
则会显示警报。如果发生这种情况,用户应先验证密钥更改的原因,然后再继续连接。scp
的参数类似于 cp
命令 。要复制的一个或多个文件是第一个参数,要复制到的目标变量是第二个参数。由于文件是通过网络获取的,因此一个或多个文件参数采用的形式如下:[email protected]:<path_to_remote_file>
。在以递归方式复制目录时 scp
使用 -r
,而 cp
使用 -R
。ssh-keygen
来生成公钥和私钥对,请指定密钥类型并按照提示操作。建议使用不易忘记但难以被别人猜测出来的密码来保护密钥。ENCRYPTED
字样,则说明密钥所有者使用了口令。此外,为了更好地保护最终用户,可以在公钥文件中加入 from
。例如,在 ssh-rsa
前缀前面加上 from="192.168.10.5 "
将只允许该特定用户从该 IP 地址登录。ssh-agent
处理,使用加载到其中的私钥。ssh-agent
可用于启动另一个应用程序,如 shell 或窗口管理器。ssh-agent
,请以 shell 作为参数开始。通过运行 ssh-add
并输入私钥的密码来添加标识。然后,用户就能够用 ssh
访问安装了相应公钥的任何主机。例如:ssh-agent
,请在 ~/.xinitrc 中为其添加一个条目。这为在 Xorg 中启动 ssh-agent
的所有程序提供服务。示例 ~/.xinitrc 可能如下所示:ssh-agent
,而 XORG 在每次启动时都会启动 XFCE。重新启动 Xorg 以使更改生效后,请运行 ssh-add
以加载所有 SSH 密钥。ssh
为 telnet 创建隧道:-2
ssh
版本 2 连接到服务器。-N
ssh
无命令或仅指示隧道。如果省略,则启动正常会话。-f
ssh
在后台运行。-L
localport
的 localhost
上创建一个监听套接字。然后,它把在 localport
上收到的任何连接通过 SSH 连接转发到指定的 remotehost:remoteport
。在这个例子中,客户端的 5023
端口被转发到远程机器的 23
端口。由于端口 23
是由 telnet
使用的,这就通过 SSH 隧道创建了一个加密的 telnet 会话。ssh-keygen
,以创建更加无缝的 SSH 隧道环境。可以使用密钥代替键入密码,并且可以作为单独的用户运行隧道。2110
端口的本地主机发送 POP3
请求。这个连接将被安全地通过隧道转发到 mail.example.com
。localhost
端口 8888,该端口将被转发到 music.example.com
端口 8000 上,成功绕过防火墙。AllowUsers
关键字来限制哪些用户可以登录 SSH 服务器以及从哪里登录是一个好主意。例如,要想只允许 root
从 192.168.1.32
登录,请在 /etc/ssh/sshd_config 中添加这一行。admin
从任何位置登录,请列出该用户而不指定 IP 地址:/etc/ssh/sshd_config
与 /etc/ssh/ssh_config
混淆(请注意第一个文件名中的额外部分)。第一个文件配置服务器,第二个文件配置客户端。请参阅 ssh_config(5) 了解可用客户端设置的列表。