linux介绍(四)--Linux 远程登录

目录

1. SSH 介绍

2. 安装 SSH 客户端和服务器

2.1 安装 SSH 服务器

2.2 安装 SSH 客户端

3. 配置 SSH 服务器

3.1 启动 SSH 服务

3.2 配置 SSH 服务

4. 使用 SSH 进行远程登录

4.1 使用密码认证

4.2 使用密钥认证

生成密钥对

复制公钥到远程主机

测试登录

5. SSH 常用选项

6. SSH 高级功能

6.1 文件传输

6.2 文件系统挂载

总结


 

Linux 远程登录是指在一台计算机上通过网络连接到另一台运行 Linux 操作系统的计算机,并在其上执行命令。远程登录是系统管理和日常运维工作中非常重要的功能之一。常见的远程登录方式包括 SSH(Secure Shell)、Telnet 等,其中 SSH 是最常用且安全的方式。下面详细介绍如何使用 SSH 进行远程登录。

1. SSH 介绍

SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络环境中提供安全的远程登录服务。SSH 除了提供远程登录功能外,还可以用于文件传输(SFTP)、端口转发等。

2. 安装 SSH 客户端和服务器

2.1 安装 SSH 服务器

在远程主机上安装 SSH 服务器。对于大多数 Linux 发行版,SSH 服务器通常已经预先安装。如果没有安装,可以通过包管理器安装:

  • Ubuntu/Debian:

     
    bash

    深色版本

    1sudo apt update
    2sudo apt install openssh-server
  • CentOS/Fedora:

     
    bash

    深色版本

    1sudo yum install openssh-server

2.2 安装 SSH 客户端

SSH 客户端通常已经安装在大多数 Linux 发行版中。如果没有安装,可以通过包管理器安装:

  • Ubuntu/Debian:

     
    bash

    深色版本

    1sudo apt install ssh
  • CentOS/Fedora:

     
    bash

    深色版本

    1sudo yum install openssh-clients

3. 配置 SSH 服务器

3.1 启动 SSH 服务

确保 SSH 服务正在运行:

 

bash

深色版本

1sudo service ssh status  # 或者 sudo systemctl status sshd

如果服务没有启动,可以启动它:

 

bash

深色版本

1sudo service ssh start  # 或者 sudo systemctl start sshd

3.2 配置 SSH 服务

SSH 服务的配置文件位于 /etc/ssh/sshd_config。你可以编辑这个文件来更改 SSH 的配置选项,例如:

  • 端口号: 默认端口号为 22,可以更改以避免攻击。

     
    plaintext

    深色版本

    1Port 2222
  • 允许 root 登录: 默认情况下不允许使用 root 用户远程登录,可以通过以下设置允许:

     
    plaintext

    深色版本

    1PermitRootLogin yes
  • 公钥认证: 可以启用公钥认证来增强安全性。

     
    plaintext

    深色版本

    1PubkeyAuthentication yes

保存并退出配置文件后,重启 SSH 服务以应用更改:

 

bash

深色版本

1sudo service ssh restart  # 或者 sudo systemctl restart sshd

4. 使用 SSH 进行远程登录

4.1 使用密码认证

使用用户名和密码进行远程登录:

 

bash

深色版本

1ssh username@remote_host_ip

首次连接时,会要求确认远程主机的指纹。确认后输入密码即可登录。

4.2 使用密钥认证

使用密钥对进行远程登录可以增强安全性并简化登录过程。以下是设置密钥认证的步骤:

生成密钥对

在本地计算机上生成一对 SSH 密钥:

 

bash

深色版本

1ssh-keygen -t rsa

按提示操作,默认情况下会在 ~/.ssh/id_rsa~/.ssh/id_rsa.pub 生成私钥和公钥。

复制公钥到远程主机

将公钥复制到远程主机:

 

bash

深色版本

1ssh-copy-id username@remote_host_ip

如果 ssh-copy-id 命令不可用,可以手动复制公钥文件到远程主机的 ~/.ssh/authorized_keys 文件中:

 

bash

深色版本

1cat ~/.ssh/id_rsa.pub | ssh username@remote_host_ip 'cat >> .ssh/authorized_keys'

测试登录

再次尝试使用 SSH 登录远程主机,这次不应该要求输入密码:

 

bash

深色版本

1ssh username@remote_host_ip

5. SSH 常用选项

SSH 提供了许多选项来增强其功能,例如:

  • 指定端口号:

     
    bash

    深色版本

    1ssh -p 2222 username@remote_host_ip
  • 端口转发:

    • 动态端口转发(socks 代理):

       
      bash

      深色版本

      1ssh -D 1080 username@remote_host_ip
    • 静态端口转发:

       
      bash

      深色版本

      1ssh -L 8080:localhost:80 username@remote_host_ip
  • 使用代理跳板:

     
    bash

    深色版本

    1ssh -J proxy_username@proxy_host_ip username@remote_host_ip

6. SSH 高级功能

SSH 还有许多高级功能,如使用 scpsftp 进行文件传输、使用 sshfs 进行远程文件系统挂载等。

6.1 文件传输

使用 scp 命令进行文件传输:

 

bash

深色版本

1scp file.txt username@remote_host_ip:/path/to/destination

使用 sftp 命令进行交互式文件传输:

 

bash

深色版本

1sftp username@remote_host_ip

6.2 文件系统挂载

使用 sshfs 挂载远程文件系统:

 

bash

深色版本

1sshfs username@remote_host_ip:/path/to/remote/directory /local/mount/point

总结

通过 SSH 进行远程登录是 Linux 系统管理中最常用的功能之一。SSH 不仅提供了安全的远程登录功能,还支持文件传输、端口转发等多种功能。掌握 SSH 的基本用法和配置技巧,对于系统管理员来说是非常重要的。随着实践的深入,你还可以探索更多 SSH 的高级功能,以满足更复杂的使用需求。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值