SSH简介
SSH(Secure Shell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录服务,它是基于TCP的一种加密通信协议,可以保证数据在传输过程中的安全性,SSH最初是由芬兰TUMOC公司开发的,后来发展成为Internet工程任务组(IETF)的一个标准,SSH协议包括客户端和服务器两部分,客户端用于连接远程服务器,服务器用于接收和响应客户端的请求。
SSH命令的基本使用
1、安装SSH客户端
在Linux系统中,可以使用以下命令安装SSH客户端:
对于基于Debian的系统(如Ubuntu):
sudo apt-get install openssh-client
对于基于RPM的系统(如CentOS):
sudo yum install openssh-clients
2、连接远程服务器
使用以下命令连接远程服务器:
ssh 用户名@服务器地址 -p 端口号
ssh root@192.168.1.100 -p 22
用户名为root,服务器地址为192.168.1.100,端口号为22。
3、查看已连接的服务器列表
使用以下命令查看已连接的服务器列表:
cat ~/.ssh/known_hosts
如果没有列出任何服务器,需要手动将服务器地址添加到known_hosts文件中:
ssh-keyscan 服务器地址 >> ~/.ssh/known_hosts
4、设置密码认证(不推荐)
在第一次连接远程服务器时,可能会提示是否设置密码认证,选择“yes”,然后输入密码,之后再尝试连接远程服务器时,就不需要再输入密码了,这种方式存在安全隐患,因为密码会以明文形式存储在本地计算机上,尽量避免使用密码认证。
5、使用公钥认证(推荐)
在本地计算机上生成SSH密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,可以选择默认的文件路径和文件名,生成密钥对后,会得到两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。
接下来,将公钥添加到远程服务器的authorized_keys文件中:
ssh-copy-id 用户名@服务器地址
ssh-copy-id root@192.168.1.100
修改远程服务器上的authorized_keys文件权限:
chmod 600 ~/.ssh/authorized_keys
尝试使用私钥登录远程服务器:
ssh -i ~/.ssh/id_rsa root@192.168.1.100 -p 22
此时,应该可以成功登录远程服务器,而无需输入密码。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/189177.html