SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络中安全地进行远程登录和其他网络服务。以下是一些SSH命令行的基础操作:
基本连接
ssh username@hostname
例如:
ssh user@example.com
指定端口
如果SSH服务器运行在非默认端口(通常是22),可以使用-p选项指定端口。
ssh -p 2222 username@hostname
使用密钥认证
如果你有一个私钥文件(如id_rsa),可以使用-i选项指定它。
ssh -i /path/to/private_key username@hostname
使用代理跳转
如果你需要通过一个或多个中间服务器连接到目标服务器,可以使用-J选项。
ssh -J user@jump_host user@target_host
ssh -L local_port:remote_host:remote_port username@hostname
例如:ssh -L 8080:localhost:80 user@example.com
这会将本地的8080端口转发到远程服务器的80端口。ssh -R remote_port:localhost:local_port username@hostname
例如:ssh -R 8080:localhost:80 user@example.com
这会将远程服务器的8080端口转发到本地机器的80端口。如果你只想在远程服务器上执行一个命令而不进入交互式shell,可以在命令后面加上分号。
ssh username@hostname 'command; exit'
为了简化多次连接,可以在~/.ssh/config文件中配置主机别名和其他选项。
Host myserver
HostName example.com
User user
Port 2222
IdentityFile /path/to/private_key
之后可以直接使用别名连接:
ssh myserver
在SSH会话中,可以使用以下命令断开连接:
exit 或 Ctrl+D你可以使用ssh -v选项来启用详细模式,查看连接过程中的所有信息。
ssh -v username@hostname
-t:强制分配伪终端,适用于需要交互式shell的情况。-X:启用X11转发,允许在远程服务器上运行图形应用程序并在本地显示。-C:启用压缩,减少数据传输量。掌握这些基础操作后,你就可以更高效地使用SSH进行远程管理和操作了。