1. Linux上安装ssh
如果在Linux系统上运行sudo service ssh status
提示Unit ssh.service could not be found.
,这意味着SSH服务没有安装或者它可能在系统上有一个不同的服务名称。
下面,我们来介绍ssh的安装步骤:
-
安装SSH服务:
在不同的Linux发行版上,安装命令会有所不同:
-
Debian/Ubuntu:
sudo apt update sudo apt install openssh-server
-
Red Hat/CentOS/Fedora:
sudo yum install openssh-server
-
Arch Linux:
sudo pacman -S openssh
-
-
启动SSH服务:
安装后,需要启动SSH服务。
sudo service ssh start
或者对于systemd系统:
sudo systemctl start sshd
-
设置SSH服务在启动时自动运行:
如果希望SSH服务在系统启动时自动运行,可以执行:
sudo systemctl enable sshd
-
再次检查SSH服务的状态:
现在,可以检查SSH服务的状态,看看它是否正在运行:
sudo service ssh status
或者对于systemd系统:
sudo systemctl status sshd
按照上述步骤,应该能够在Linux机器上安装、启动并运行SSH服务。
2. 使用ssh远程连接服务器
在已经在目标机器上安装了SSH服务之后,可以从另一台机器进行连接。在默认的设置中,应该可以使用密码身份验证来连接,但是,使用SSH公钥身份验证通常更为安全和方便。
以下是如何连接及如何设置公钥身份验证的基本步骤:
1. 使用密码连接:
在默认配置下,可以使用以下命令来连接:
ssh username@target_ip_address
会被提示输入密码。输入目标机器上相应用户的密码后,应该能够成功连接。
2. 设置公钥身份验证:
公钥身份验证允许我们无需每次输入密码即可连接。
- 在本地机器上生成一个SSH密钥对 (如果还没有的话):
ssh-keygen
这会在~/.ssh
目录下生成id_rsa
(私钥) 和 id_rsa.pub
(公钥)。
- 将公钥传输到目标机器:
ssh-copy-id username@target_ip_address
此命令会自动将公钥(~/.ssh/id_rsa.pub
)复制到目标机器的~/.ssh/authorized_keys
文件中。
- 连接到目标机器:
ssh username@target_ip_address
由于已经设置了公钥身份验证,应该可以在不输入密码的情况下直接连接。
- [可选] 禁用密码身份验证增加安全性:
如果只想通过SSH公钥身份验证来连接,可以在目标机器的/etc/ssh/sshd_config
文件中进行以下修改:
PasswordAuthentication no
然后,重启SSH服务:
sudo service ssh restart
或
sudo systemctl restart sshd
通过使用公钥身份验证,不仅可以提高安全性,还可以更方便地连接,尤其是当我们需要经常连接或进行自动化任务时。