Linux SSH连接远程服务器(免密登录、scp和sftp传输文件)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1 SSH简介

SSHSecure Shell安全外壳是一种网络安全协议通过加密和认证机制实现安全的访问和文件传输等业务。传统远程登录和文件传输方式例如Telnet、FTP使用明文传输数据存在很多的安全隐患。随着人们对网络安全的重视这些方式已经慢慢不被接受。SSH协议通过对网络数据进行加密和验证在不安全的网络环境中提供了安全的网络服务。作为Telnet和其他不安全远程shell协议的安全替代方案目前SSH协议已经被全世界广泛使用大多数设备都支持SSH功能。

2 SSH用法

usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]

2.1 常见用法

连接到远程服务器

ssh username@hostname
  • username是您要连接到远程服务器的用户名。
  • hostname是服务器的地址或IP地址。

例如如果您的用户名为"root"要连接到远程服务器的IP地址为"192.168.109.128"命令如下

ssh root@192.168.109.128

2.2 密码身份验证

在首次连接到服务器时SSH通常会要求您输入密码。输入密码后如果密码正确您将被授予对服务器的访问权限。

2.3 公钥身份验证免密登录

更安全的方式是使用SSH密钥对进行身份验证。首先生成密钥对然后将公钥上传到服务器。一旦配置完成您可以通过私钥进行身份验证而不需要输入密码。

生成密钥对

ssh-keygen -t rsa

将公钥上传到服务器将id_rsa.pub更改为您的公钥文件名

ssh-copy-id username@hostname

之后您可以通过SSH私钥进行身份验证而不需要密码

ssh username@hostname

2.4 执行远程命令

您可以在SSH连接中执行远程命令。命令将在远程服务器上运行然后将输出返回到本地终端。示例

ssh username@hostname "command"

例如运行远程服务器上的"ls"命令并显示结果

ssh myuser@192.168.1.100 "ls"

2.5 文件传输SCP和SFTP

SSH还提供了用于安全文件传输的工具如SCP和SFTP。您可以使用这些工具将文件从本地系统上传到远程服务器或者从远程服务器下载文件到本地系统。

使用SCP上传文件到远程服务器

scp localfile.txt username@hostname:/path/to/remote/directory/

使用SCP从远程服务器下载文件到本地系统

scp username@hostname:/path/to/remote/file.txt localdirectory/

使用SFTP以交互方式传输文件

sftp username@hostname

sftp是Secure File Transfer Protocol的缩写是一种安全的文件传输协议。它可以在本地主机和远程主机之间传输文件并提供了基本的文件管理功能。常用的命令有

  • put: 上传文件

  • get: 下载文件

  • ls: 查看远程主机上的文件列表

  • cd: 更改远程主机上的工作目录

  • exit: 退出sftp

  • help: 显示帮助信息

3 SSH工作原理

SSH由服务器和客户端组成为建立安全的SSH通道双方需要先建立TCP连接然后协商使用的版本号和各类算法并生成相同的会话密钥用于后续的对称加密。在完成用户认证后双方即可建立会话进行数据交互。SSH的工作流程包括如下几个阶段。

SSH工作流程

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux服务器

“Linux SSH连接远程服务器(免密登录、scp和sftp传输文件)” 的相关文章