上一篇
ssh登陆linux服务器
- 云服务器
- 2025-08-09
- 8
ssh命令登录 Linux服务器,格式为: ssh 用户名@服务器IP地址
使用SSH登录Linux服务器

前期准备
- 确认服务器信息
- IP地址或域名:需准确获取要登录的Linux服务器的IP地址或域名,这是建立连接的关键标识,服务器的IP地址可能是168.1.100,域名可能是example.com。
- SSH端口:默认情况下,SSH服务的端口是22,若服务器管理员对端口进行了修改,需要知晓新的端口号。
- 用户名和密码:拥有服务器的合法用户名和对应的密码,用于身份验证,常见的用户名有root(超级用户,谨慎使用)、admin等,也可以是自定义的普通用户账号。
- 安装SSH客户端(根据操作系统)
- Windows系统:
- 使用PuTTY:PuTTY是一款免费且功能强大的SSH客户端软件,从PuTTY官方网站下载对应版本的可执行文件,双击即可启动。
- 使用Windows Subsystem for Linux (WSL):在Windows 10及以上版本中,可通过启用WSL功能,安装Linux发行版(如Ubuntu),然后在Linux子系统中使用内置的SSH客户端,具体操作可参考微软官方文档。
- 使用Powershell或Windows Terminal(Win10及以上自带):在较新的Windows版本中,可直接在Powershell或Windows Terminal中使用SSH命令。
- macOS和Linux系统:通常已经预装了SSH客户端,可直接在终端(Terminal)中使用。
- Windows系统:
通过密码登录
- 打开终端或SSH客户端
- Windows(以PuTTY为例):双击PuTTY图标启动程序。
- macOS和Linux:打开终端应用程序。
- 输入连接命令
- 在终端或SSH客户端的命令行中,输入以下格式的命令:ssh 用户名@服务器IP -p 端口号,要连接到IP为168.1.100、用户名为john、端口为22的服务器,命令为ssh john@192.168.1.100 -p 22。
- 首次连接确认
- 如果是首次连接到该服务器,系统会提示是否接受服务器的公钥指纹,仔细查看提示信息,确认无误后输入yes并按回车键。
- 输入密码
系统会提示输入密码,在命令行中输入对应的密码(输入过程中密码不显示),然后按回车键。
- 成功登录
如果用户名和密码正确,且服务器端配置正常,将成功登录到Linux服务器,看到服务器的命令提示符,此时可以开始执行各种命令来管理服务器。

通过密钥登录(更安全便捷)
- 生成密钥对(在本地客户端操作)
- 打开终端,输入命令ssh-keygen -t rsa -b 2048(也可以使用其他加密算法和位数,如ssh-keygen -t rsa -b 4096 -C "your_email@example.com"),执行该命令后,系统会在~/.ssh/目录下生成id_rsa(私钥)和id_rsa.pub(公钥)两个文件,私钥需要妥善保管,公钥将用于服务器端的身份验证。
- 将公钥复制到服务器
- 使用命令ssh-copy-id user@remote-server(其中user是服务器用户名,remote-server是服务器IP或域名),该命令会将本地的公钥添加到服务器的~/.ssh/authorized_keys文件中,如果该文件不存在,会自动创建,在执行该命令前,确保远程服务器上的~/.ssh/目录权限是700,authorized_keys文件权限是600。
- 测试连接
- 使用命令ssh -i /path/to/private/key username@server_ip(其中/path/to/private/key是私钥文件的路径,username是服务器用户名,server_ip是服务器IP地址或域名)来测试连接服务器,如果连接成功,将看到服务器的欢迎信息和命令提示符。
连接成功后的操作
- 基本命令操作
- 可以在服务器的命令提示符下输入各种Linux命令来管理服务器,如查看文件目录(ls)、切换目录(cd)、创建文件或目录(touch、mkdir)、编辑文件(vi、nano等)等。
- 文件传输
- 使用SCP命令:在本地客户端和服务器之间传输文件,可以使用scp命令,要将本地的文件file.txt传输到服务器的/home/user目录下,命令为scp file.txt user@server_ip:/home/user。
- 使用SFTP客户端(如WinSCP):对于Windows用户,可以使用WinSCP等图形化界面的SFTP客户端软件,通过输入服务器信息、用户名和密码(或密钥)来连接服务器,并进行文件传输操作。
- 断开连接
- 完成操作后,输入exit或logout命令来断开与服务器的连接。
| 操作系统 | SSH客户端 | 连接命令示例 |
|---|---|---|
| Windows | PuTTY | ssh john@192.168.1.100 -p 22 |
| Windows | Powershell/Windows Terminal | ssh john@192.168.1.100 -p 22 |
| macOS/Linux | 终端 | ssh john@192.168.1.100 -p 22 |
相关问题与解答
问题1:如果在连接过程中出现“Connection refused”错误怎么办?

解答:出现“Connection refused”错误通常表示无法建立到服务器的SSH连接,可能的原因及解决方法如下:
- 服务器端SSH服务未启动:登录到服务器(如果有其他方式访问),使用命令sudo service ssh status(对于基于Systemd的系统,可能是sudo systemctl status sshd)检查SSH服务状态,如果服务未启动,使用命令sudo service ssh start(或sudo systemctl start sshd)启动服务。
- 防火墙阻止了SSH端口:检查服务器端的防火墙设置,确保允许SSH服务的默认端口(22)通过,对于使用iptables的系统,可以使用命令sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT添加规则允许SSH端口通信;对于使用firewalld的系统,可以使用命令sudo firewall-cmd --permanent --add-service=ssh添加规则,然后使用sudo firewall-cmd --reload重新加载防火墙配置。
- 网络连接问题:检查本地客户端与服务器之间的网络连接是否正常,可以尝试ping服务器IP地址,检查是否能够通达,如果网络不通,检查网络设置、路由配置等。
问题2:如何提高SSH连接的安全性?
解答:以下是一些提高SSH连接安全性的方法:
- 使用密钥认证而非密码认证:如前所述,生成密钥对并使用密钥进行身份验证,比传统的密码认证更加安全,密钥认证可以防止密码被暴力免费,并且可以方便地管理多个用户的访问权限。
- 更改默认SSH端口:将SSH服务的默认端口(22)更改为其他不常用的端口号,可以减少被恶意扫描和攻破的风险,在服务器端修改SSH配置文件(通常是/etc/ssh/sshd_config),找到Port选项并修改为其他端口号,然后重启SSH服务使配置生效,在客户端连接时需要指定新的端口号。
- 限制用户登录:在服务器端配置文件中,可以通过设置AllowUsers或DenyUsers选项来限制允许或禁止登录的用户,只允许特定的用户登录可以提高安全性,防止未经授权的用户访问服务器。
- 禁用密码认证:在SSH配置文件中,将PasswordAuthentication选项设置为no,可以禁用密码认证方式,强制使用密钥认证或其他更安全的认证方式,这样可以进一步提高安全性,但需要确保用户已经配置了正确的密钥认证。
- 定期更新密钥和密码:定期更换SSH密钥对和用户密码,可以避免密钥或密码被泄露后带来的安全风险,建议每隔一段时间(如几个月)生成新的密钥对,并更新服务器端的授权密钥列表。