Linux 命令行入门教程
64. ssh 远程登录与 scp / sftp 传输
本教程共 90 篇 · 第 64 篇
64. ssh 远程登录与 scp / sftp 传输
SSH 是安全的远程登录协议。坐在自己电脑前,就能操作另一台机器。
Ubuntu 26.04 当被连的服务器,先装并开服务:
sudo apt install openssh-server
sudo systemctl enable --now ssh
从本地连过去:
ssh user@192.168.1.10
首次连接会问你确认指纹,输入 yes 即可。之后用口令登录。
更安全的做法是密钥登录。本地生成一对密钥:
ssh-keygen -t ed25519
把公钥推到服务器:
ssh-copy-id user@192.168.1.10
Warning私钥(
~/.ssh/id_ed25519)等同你的密码,权限必须600,绝不能外传或提交到 git。谁拿到它就能冒用你的身份登录。生成后顺手锁一下权限:chmod 600 ~/.ssh/id_ed25519
传文件靠 scp,走 SSH 加密通道:
scp file.txt user@192.168.1.10:/home/user/
scp user@192.168.1.10:/home/user/log.txt .
传目录加 -r。交互式传文件用 sftp:
sftp user@192.168.1.10
进去后用 put 上传、get 下载、ls 浏览。
小结:ssh 远程管机、ssh-copy-id 上密钥、scp/sftp 安全传文件。密钥比口令稳。
参考来源
- GeeksforGeeks, Enabling SSH on Ubuntu:https://www.geeksforgeeks.org/linux-unix/enabling-ssh-on-ubuntu/
- GeeksforGeeks, scp command:https://www.geeksforgeeks.org/linux-unix/scp-command-in-linux-with-examples/