1. 什么是SSH?
SSH是指安全外壳协议(Secure Shell Protocol),它提供了一种在电脑网络上加密传输协议的安全方式。通过SSH,用户可以在不安全的网络上安全地进行远程登录和执行命令。SSH是一种替代传统的Telnet和rlogin协议的更安全的方式。
2. 连接到远程服务器
2.1 SSH登录到远程服务器
要使用SSH连接到远程服务器,首先需要打开终端或命令行窗口。然后使用以下命令登录到远程服务器:
ssh username@server_ip_address
其中,username
是您在远程服务器上的用户名,而server_ip_address
是远程服务器的IP地址。执行此命令后,系统会提示您输入密码。输入正确的密码后,您将成功登录到远程服务器。
注意:在登录时,如果您使用的是默认的SSH端口(22号端口),则无需指定端口号。如果远程服务器使用了其他SSH端口,您需要在命令中添加-p
参数加上对应的端口号。
2.2 公钥验证登录
为了避免每次登录都输入密码,可以通过公钥验证实现无密码登录。下面是实现公钥验证登录的步骤:
2.2.1 生成密钥对
在本地计算机上生成密钥对:
ssh-keygen -t rsa -b 4096
执行此命令后,系统会提示您选择密钥对的保存路径和密码。可以按照默认设置直接敲击回车键,生成的密钥对会保存在~/.ssh/
目录下。
2.2.2 将公钥复制到远程服务器
使用以下命令将刚才生成的公钥复制到远程服务器:
ssh-copy-id username@server_ip_address
系统会提示您输入密码。输入正确的密码后,公钥将被复制到远程服务器的~/.ssh/authorized_keys
文件中。
现在,您可以使用ssh username@server_ip_address
命令无需输入密码登录到远程服务器了。
2.3 配置别名
为了方便管理,可以配置别名以替代较长的SSH命令。编辑~/.bashrc
文件,在其中添加以下内容:
alias myserver='ssh username@server_ip_address'
将username
和server_ip_address
替换为您实际使用的用户名和远程服务器IP地址。保存文件后,执行以下命令使别名生效:
source ~/.bashrc
现在,您可以使用myserver
作为命令登录到远程服务器。
3. 使用SSH管理文件夹
3.1 文件传输
通过SSH,您可以轻松地在本地计算机和远程服务器之间传输文件。下面介绍几种常见的文件传输方式。
3.1.1 从本地上传文件到远程服务器
使用scp
命令将文件从本地上传到远程服务器:
scp local_file_path username@server_ip_address:remote_directory_path
将local_file_path
替换为本地文件的路径,username
和server_ip_address
替换为远程服务器的用户名和IP地址,remote_directory_path
替换为远程服务器上的目标目录路径。
3.1.2 从远程服务器下载文件到本地
使用scp
命令将远程服务器上的文件下载到本地:
scp username@server_ip_address:remote_file_path local_directory_path
将username
和server_ip_address
替换为远程服务器的用户名和IP地址,remote_file_path
替换为远程服务器上的文件路径,local_directory_path
替换为本地目标目录路径。
3.2 操作远程文件夹
使用SSH,您还可以对远程服务器上的文件夹进行操作,如创建、删除、重命名等。
3.2.1 创建文件夹
使用mkdir
命令在远程服务器上创建新文件夹:
ssh username@server_ip_address 'mkdir remote_directory_path'
将username
和server_ip_address
替换为远程服务器的用户名和IP地址,remote_directory_path
替换为要创建的新文件夹路径。
3.2.2 删除文件夹
使用rm
命令删除远程服务器上的文件夹:
ssh username@server_ip_address 'rm -r remote_directory_path'
将username
和server_ip_address
替换为远程服务器的用户名和IP地址,remote_directory_path
替换为要删除的文件夹路径。请注意,rm -r
命令将递归删除目录及其内容。
3.2.3 重命名文件夹
使用mv
命令对远程服务器上的文件夹进行重命名:
ssh username@server_ip_address 'mv old_directory_path new_directory_path'
将username
和server_ip_address
替换为远程服务器的用户名和IP地址,old_directory_path
替换为要重命名的文件夹路径,new_directory_path
替换为新的文件夹路径。
3.3 查看远程文件夹内容
使用ls
命令可以查看远程服务器上指定文件夹的内容:
ssh username@server_ip_address 'ls remote_directory_path'
将username
和server_ip_address
替换为远程服务器的用户名和IP地址,remote_directory_path
替换为要查看内容的文件夹路径。
4. 总结
通过SSH,我们可以方便地远程连接到服务器,并使用SSH提供的命令进行文件传输和文件夹管理。通过学习使用SSH,我们能更高效地管理服务器上的文件和目录,提高工作效率。