ssh 操作
ssh远程连接服务,ssh服务的名字 sshd ,centos自带ssh 服务,默认端口是22
准备两台设备:
使用克隆:
server 10.10.107.234
client 10.10.107.84
保证两台设备可以相互连通:
测试是否可以连通:
server ping client
ping 10.10.107.84
client ping server
关闭防火墙
查看防火墙状态:
关闭防火墙:
客户端和服务端都要关闭
关闭安全模式:
通过ssh连接对方电脑
通过client 连接 server
ssh server的用户名@serverIP地址
第一连接会做认证,认证通过下次在连接就不需要认证了
退出登录 exit
xshell 软件
在window系统上装的软件用于与服务器连接
xshell 使用的是ssh服务 和上面的原理一样 要将服务端的防火墙和安全模式关闭
单击文件选择新建
密钥登录不需要密码:
公钥 放到服务器端
私钥 放到本机
1、在客户端生成公钥和私钥
ssh-keygen -t ras
公钥和私钥的地址 还有白名单文件
2、将公钥改名字为
authorized_keys
3、将公钥上传到服务端
scp /root/.shh/authorized_keys root@10.10.107.84:/root/.ssh/authorized_keys
如果服务端的/root 下没有.ssh目录需要手动创建
4、在本地使用私钥登录连接远程服务器
ssh -i id_rsa root@10.10.107.84
上传文件
scp 要上传的文件 对方的用户@对方的地址:上传的位置
下载文件
scp 对方用户@对方的地址:要下载的文件路径 下载的路径
如果要传目录
scp -r
xftp软件
可以在xshell上面打开,用于window客户端与服务器相互传文件,可以直接点两下就传过去了。
python 中的 paramiko包
第三方包 基于ssh服务 可以使用python实现ssh功能
使用前先安装
pip install paramiko
使用python连接linux服务器并执行linux命令
连接一个服务器
import paramiko
# 创建一个客户端
ssh = paramiko.SSHClient()
# 创建一个白名单
know_host = paramiko.AutoAddPolicy()
# 设置不提醒
ssh.set_missing_host_key_policy(know_host)
# 连接服务器
ssh.connect(hostname = '10.10.107.84',port=22,username='root',password='123456')
# 执行linux命令
stdin, stdout, stderr = ssh.exec_command('mkdir /home/zhy/Desktop/g')
# stdin 标准输入 文件对象 写权限
# stout 标准的输出 文件对象 读权限
# stderr 特殊的输出 文件独享 读权限
# 查看输出结果
print(stdout.read().decode())
# 关闭连接
ssh.close(</