如何在Linux中检查SSH服务是否开启?_笔记大全_设计学院 (python100.com)
1.检查虚拟机上是否安装了ssh 服务
在Linux中,默认情况下并不会安装SSH服务。因此,我们需要首先检查SSH服务是否已经安装在我们的系统中。使用以下命令进行检查:
dpkg -l | grep ssh
如果SSH服务已经安装,则会显示其版本信息和其他细节。如果没有,则需要使用以下命令来安装:
sudo apt-get install ssh
一旦SSH服务被安装,我们需要确保它已经启动并正在运行。使用以下命令来检查:
sudo service ssh status
如果该服务正在运行,则会显示“active(running)”的标识符。如果未运行,则可以使用以下命令启动服务:
sudo service ssh start
SSH服务在默认情况下使用22号端口进行通信。因此,我们需要确保该端口在我们的系统上开启并正在监听。
使用以下命令进行检查:
sudo netstat -tulnp | grep 22
如果SSH端口未被开放,则需要编辑SSH配置文件来进行设置。
使用以下命令来打开配置文件:
sudo nano /etc/ssh/sshd_config
找到“Port”字段并确保该字段的值为22。如果该值已被更改为另一个数字,则将其修改为22。保存并关闭文件。
使用以下命令来重启SSH服务以使更改生效:
sudo service ssh restart
一旦SSH服务已经成功配置,并且端口22已经被开放,我们可以使用telnet命令来测试SSH连接是否成功。
telnet localhost 22
如果连接成功,则将显示SSH服务的欢迎屏幕。
2.登录远程虚拟机
SSH原理与运用(一):远程登录 - 阮一峰的网络日志 (ruanyifeng.com)
阮大佬的网络日志,及其推荐看
基本的命令格式是这样的
ssh user@ip
user 是自己虚拟机上的用户名,ip 为虚拟机的ip
比如我的的unbantu的用户名是 : songyuliang
如果不知道自己的用户名是啥可以在命令行输入
whoami
输出的就是自己的用户名:
如果不知道自己的ip:
在命令行输入:
ifconfig
inet: 后面的ip就是自己的ip地址
那么接下来连接虚拟机的命令就是
ssh songyuliang@192.168.215.130
他会出现:
Are you sure you want to continue connecting (yes/no/[fingerprint])?
我们输入yes 就行了
接下来会提示我们输入账号密码
输入虚拟机的账号密码就能够成功连上了
3.配置免用户,免密码
-
Mac版本
-
win版本
-
在 Windows 上实现 SSH 免密登录,你可以按照以下步骤进行操作:
- 生成 SSH 密钥对:使用 SSH 客户端(如 OpenSSH、PuTTY 等)生成 SSH 密钥对,包括公钥和私钥。你可以使用以下命令来生成密钥对:
ssh-keygen -t rsa
这将生成一对 RSA 密钥,其中私钥保存在本地,公钥保存在
~/.ssh/id_rsa.pub
文件中。- 将公钥添加到目标主机的
authorized_keys
文件中:将生成的公钥添加到目标主机的~/.ssh/authorized_keys
文件中。你可以使用以下命令将公钥复制到目标主机:
ssh-copy-id user@hostname
其中
user
是目标主机的用户名,hostname
是目标主机的 IP 地址或域名。- 配置 SSH 客户端:打开 SSH 客户端配置文件
~/.ssh/config
(如果不存在则创建),并添加以下内容:
Host hostname User user IdentityFile ~/.ssh/id_rsa
将
hostname
替换为目标主机的 IP 地址或域名,将user
替换为目标主机的用户名。完成上述步骤后,你应该能够通过 SSH 免密登录到目标主机。如果你需要使用代码实现这些步骤,下面是一个示例的 PowerShell 脚本:
# 生成 SSH 密钥对 ssh-keygen -t rsa # 将公钥添加到目标主机的 authorized_keys 文件中 $sshPublicKey = Get-Content ~/.ssh/id_rsa.pub $sshPublicKey | ssh user@hostname "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" # 配置 SSH 客户端 Add-Content -Path ~/.ssh/config -Value @" Host hostname User user IdentityFile ~/.ssh/id_rsa "@
请注意,上述示例中的
user
、hostname
和文件路径需要根据你自己的情况进行替换。
-