百度一下,你就知道
SSH 远程登录操作
环境准备
确保本地和远程系统已安装 OpenSSH 服务器。通过以下命令安装并启动服务:
- Debian/Ubuntu:
apt install openssh-server && systemctl start sshd - CentOS/RHEL:
yum install openssh-server && systemctl start sshd
基础登录命令
使用默认端口(22)登录远程主机:ssh 用户名@远程IP地址
示例:ssh root@192.168.1.100
首次连接需确认主机指纹,输入远程主机密码完成登录。
指定非默认端口
若远程SSH服务端口非22,通过-p参数指定:ssh -p 自定义端口 用户名@IP
示例:ssh -p 2222 root@192.168.1.100
SCP 远程文件拷贝操作
本地文件传输到远程
命令格式:scp 本地文件路径 远程用户名@IP:远程保存路径
示例:scp /home/file.txt root@192.168.1.100:/tmp/
从远程拉取文件到本地
命令格式:scp 远程用户名@IP:远程文件路径 本地保存路径
示例:scp root@192.168.1.100:/tmp/file.txt /home/
递归拷贝文件夹
添加-r参数实现目录递归传输:scp -r /home/folder root@192.168.1.100:/tmp/
安全性与权限管理
SSH加密原理
SSH通过非对称加密建立安全连接:客户端验证服务端公钥后生成会话密钥,后续通信使用对称加密,避免明文泄露。SCP基于SSH协议复用加密通道,无需额外建立连接。
关键注意事项
权限控制:确保远程目录有读写权限,普通用户需避免直接操作root目录,必要时使用
sudo。服务状态:检查SSH服务自启状态:
systemctl enable sshd
防火墙需放行SSH端口(默认22):- Ubuntu:
ufw allow 22 - CentOS:
firewall-cmd --permanent --add-port=22/tcp && firewall-cmd --reload
- Ubuntu:
路径规范:国产系统路径区分大小写,建议使用英文命名避免乱码。
SSH密钥登录配置(适配国产麒麟系统)
生成密钥对
执行以下命令生成RSA密钥(无密码):ssh-keygen -t rsa
生成文件路径:
- 私钥:
~/.ssh/id_rsa - 公钥:
~/.ssh/id_rsa.pub
修复密钥权限
国产系统需手动修正权限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub公钥部署到远程主机
推荐自动拷贝:ssh-copy-id root@192.168.200.128
手动部署备用方案:
cat ~/.ssh/id_rsa.pub | ssh root@192.168.200.128 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"测试免密登录ssh root@192.168.200.128
SCP文件传输完整示例
创建测试文件echo "hello world! my name is linxiaoyuan" > helloword.txt
传输文件到远程桌面目录scp helloword.txt root@192.168.200.128:/root/桌面
验证远程文件内容ssh root@192.168.200.128 "cat /root/桌面/helloword.txt"