一、SSH介绍
SSH(Secure Shell)是一种加密的网络协议,可以在不安全的网络中为网络服务提供安全的传输环境。
SSH可以用于远程登录、文件传输、执行远程命令等操作,是一个非常实用的工具。
下面我们将从SSH的安装、配置以及使用三个方面进行详细讲解。
二、SSH安装
SSH的安装分为服务端和客户端两部分。
1.服务端安装
在Ubuntu系统下,可以通过以下命令安装SSH服务端:
sudo apt-get update
sudo apt-get install openssh-server
安装完成后,SSH服务端就已经成功运行在服务器上了。
2.客户端安装
SSH客户端可以通过PuTTY、Xshell等软件进行安装,也可以通过以下命令在Ubuntu系统下进行安装:
sudo apt-get update
sudo apt-get install openssh-client
三、SSH配置
1.配置文件介绍
SSH服务端的配置文件位于/etc/ssh/sshd_config,客户端的配置文件位于~/.ssh/config。
下面我们将分别对两个配置文件进行详细介绍。
2.服务端配置
(1)修改默认端口号
默认情况下,SSH服务运行在22端口,为了增强安全性,我们可以修改默认端口号。
在/etc/ssh/sshd_config文件中,找到Port 22这一行,将22改为其他的端口号即可。
(2)禁用root登录
root用户是操作系统的最高权限用户,为了避免安全风险,我们可以禁止root用户通过SSH登录服务器。
在/etc/ssh/sshd_config文件中,找到PermitRootLogin yes这一行,将yes改为no即可。
(3)禁用密码登录
为了增加安全性,我们可以禁止使用密码登录SSH,而改用密钥登录。
在/etc/ssh/sshd_config文件中,找到PasswordAuthentication yes这一行,将yes改为no即可。
3.客户端配置
(1)配置别名
为了方便记忆,我们可以给SSH连接配置一个别名,之后就可以直接使用别名来连接SSH。
在~/.ssh/config文件中,添加以下代码:
Host 别名
HostName IP或域名
Port 端口号
User 用户名
(2)配置密钥登录
密钥登录可以避免每次 SSH 登录都需要输入密码。
在本地计算机中,使用以下命令生成公钥和私钥:
ssh-keygen -t rsa
生成的公钥和私钥分别保存在 ~/.ssh/id_rsa.pub 和 ~/.ssh/id_rsa 文件中。
将生成的公钥上传到服务器上,在服务器上的~/.ssh/authorized_keys中添加公钥。
在本地计算机中,使用以下命令连接SSH即可:
ssh 用户名@IP或域名 -p 端口号 -i ~/.ssh/id_rsa
四、SSH使用
1.连接SSH
在命令行中使用以下命令连接SSH:
ssh 用户名@IP或域名 -p 端口号
2.文件传输
使用SCP命令可以实现文件传输。
将本地文件传输到服务器:
scp 本地文件路径 用户名@IP或域名:服务器文件路径
将服务器文件传输到本地:
scp 用户名@IP或域名:服务器文件路径 本地文件路径
3.执行远程命令
在命令行中使用以下命令,可以在远程服务器上执行命令并输出结果:
ssh 用户名@IP或域名 -p 端口号 "要执行的命令"
总结
SSH是一个非常实用的工具,可以帮助我们远程登录、文件传输、执行远程命令等操作。
通常情况下,我们需要修改SSH的默认端口号、禁用root登录、禁用密码登录等来增加安全性。
同时,我们可以使用别名和密钥登录来方便地连接SSH。