本文最后更新于362 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
SSH(Secure Shell)是一种网络协议,用于加密方式远程登录和其他网络服务。使用SSH可以安全地在不安全的网络上提供安全的数据传输通道。以下是一些基本的SSH命令及其执行方法:
- 登录远程服务器:
ssh username@hostname
这里的username
是你的远程服务器用户名,hostname
是远程服务器的IP地址或主机名。 - 使用特定端口登录:
ssh -p port_number username@hostname
如果远程服务器监听的不是SSH默认的22端口,可以通过-p
选项指定端口号。 - 使用私钥文件登录:
ssh -i /path/to/private_key username@hostname
当远程服务器配置为仅接受基于密钥的认证时,可以使用-i
选项指定私钥文件的路径。 - 执行远程命令:
ssh username@hostname 'command'
将command
替换为你想在远程服务器上执行的命令。 - 复制文件到远程服务器(使用SCP命令):
scp /path/to/local_file username@hostname:/path/to/remote_file
该命令将本地路径/path/to/local_file
的文件复制到远程服务器的/path/to/remote_file
。 - 复制文件从远程服务器:
scp username@hostname:/path/to/remote_file /path/to/local_file
与上一条命令相反,这条命令用于将远程服务器上的文件复制到本地。 - 保持连接活动:
ssh -o ServerAliveInterval=60 username@hostname
使用-o ServerAliveInterval=60
可以每隔60秒向服务器发送一个空包以保持连接活跃,避免因网络问题导致连接超时。 - 隧道连接(端口转发):
ssh -L local_port:localhost:remote_port username@hostname
这会在本地机器上创建一个端口local_port
,它转发到远程服务器上的remote_port
。 - 退出SSH会话:
exit
或者使用简写:quit
在SSH会话中输入这些命令将结束当前的远程会话。 - 查看远程服务器的SSH服务状态:
sudo service ssh status
或者使用systemctl(在基于systemd的系统上):sudo systemctl status sshd