这里服务器使用 Ubuntu 20.04.6 LTS aarch64,这篇文章就不说使用工具连接了,工具直接添加就好了,这里说下终端命令操作
SSH 命令使用密码连接
使用以下命令在终端进行密码连接
ssh username@hostname
如果是第一次连接 SSH 客户端会提示你是否确认继续连接。
这个提示表明服务器的主机密钥(fingerprint)在你的计算机上没有其他已知的名称(即之前没有连接过同一个主机名)。
因此,SSH 客户端不确定你是否已经信任这个服务器。
This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes: 表示你确认继续连接。如果你信任这个服务器,且你确定服务器的主机密钥是正确的,可以输入 “yes” 并继续连接。
no: 表示你不希望继续连接。如果你不信任或不确定服务器的主机密钥,可以输入 “no” 来中断连接尝试。
fingerprint: 如果你之前连接过同一个主机名的服务器,这里会显示服务器的指纹(fingerprint)。你可以检查这个指纹是否与你预期的一致,以确认服务器的真实性。
如果输入 yes,后面会让输入密码进行连接,密码正确即可连接成功
SSH 命令使用私钥连接
这里记录本地生成密钥对,然后将公钥放到服务器,使用本地私钥连接服务器
本地生成密钥对
使用以下命令生成密钥对,过程会让输入生成的路径,私钥的密码短语,再次输入私钥的密码短语,我这里都默认,密码短语为空
ssh-keygen -t rsa
-t keytype:指定要生成的密钥类型,例如 rsa、dsa、ecdsa 或 ed25519。
-b bits:指定生成的密钥的位数。默认情况下,RSA 密钥为 2048 位。
-C comment:添加一个注释,通常用于标识密钥的用途或所有者。
-f output_file:指定生成的密钥文件的文件名。
-N passphrase:设置私钥的密码短语(口令)。
-P old_passphrase -N new_passphrase:更改私钥的密码短语。
-q:静默模式,减少输出信息。
-y:显示公钥的内容而不生成密钥对。
-E hash:指定用于生成指纹的哈希算法,如 sha256、md5 等。
-t ecdsa -b bits:用于生成 ECDSA 密钥时,指定椭圆曲线的位数。
添加公钥到服务器
把生成的公钥的内容放在服务器的/root/.ssh/authorized_keys
文件中
使用私钥连接服务器
使用下面命令使用私钥连接服务器,如果设置了私钥的密码短语,系统会要求你输入密码短语以解锁私钥
ssh -i /path/to/private_key username@hostname
修改登录密码
修改当前用户的登录密码
修改当前登录用户的密码,只需在终端中输入以下命令,然后按照提示输入新密码两次即可
passwd
修改其他用户的登录密码
修改其他用户的密码,需要使用 passwd 命令并指定用户名,修改其他用户的密码通常需要管理员权限
sudo passwd username
修改 SSH 连接配置
配置文件路径为/etc/ssh/sshd_config
,下面是一些常用修改的配置
Port:指定 SSH 服务器监听的端口号。默认是 22,但为了安全性,可以考虑修改为其他端口
PermitRootLogin:控制是否允许 root 用户通过 SSH 登录。建议设置为 no,使用普通用户登录后再切换到 root 用户
PasswordAuthentication:控制是否允许使用密码进行身份验证。建议设置为 no,使用密钥进行身份验证更安全
PubkeyAuthentication:指定是否允许使用公钥进行身份验证。应设置为 yes,以启用公钥身份验证
AuthorizedKeysFile:指定公钥文件的位置。默认是 ~/.ssh/authorized_keys
MaxAuthTries:设置尝试验证的最大次数。默认是 6,可以根据需要进行调整
ClientAliveInterval / ClientAliveCountMax:设置服务器检测客户端活动的时间间隔和最大次数
LoginGraceTime:设置登录超时时间,超过这个时间还未进行登录则断开连接
TCPKeepAlive:是否启用 TCP keep-alive,可以在网络不稳定时维持连接