linux-远程操作随笔

连接远程环境并交互的操作总结

第一类:直接在linux环境下输入命令模式

1)ftp [email protected]  #回车之后需要输入密码

或者:ftp remoteip #回车后提示输入用户名和密码

2)sftp sftp=ssh+ftp

用法:登陆与ftp一样方式

3)ssh 它等价于sftp

用法:等同sftp

4)scp 是ssh+cp

scp local_file [email protected]_ip:remote_folder

将文件拷贝到远程目录下,下载则参数反过来

具体详细连接:http://www.cnblogs.com/hitwtx/archive/2011/11/16/2251254.html

****建议:使用ftp与ssh命令与本地环境几乎一样,不建议使用sftp

第二类:通过脚本实现连接服务器并执行命令

1.ftp:方式

###########################################################

#                  mv.sh

#实现向多台远程机器传输文件,并设置可执行等指令

###########################################################

#!/bin/ksh

root=root

pwd=pwd

remoteips=‘10.71.148.15 10.71.148.23‘

for ip in $remoteips

do

ftp -in $ip<<EOF

user $root $pwd

cd /

put /user/local.txt /home/n

# 追加+R表示向文件目录下所有子文件加权限

chmod 755 local.txt

bye

EOF

done

2.expect方式: expect和bsh这些都是一样的但是执行不同不支持xshell脚本那些语句

参考: http://www.cnblogs.com/iloveyoucc/archive/2012/05/11/2496433.html

##############################################################

#                  mv.exp《后缀可以是.sh》

#实现向多台远程机器传输文件,但不能操作其他指令,因为你不知道

#什么时候执行完,最后出现什么

##############################################################

#!/usr/bin/expect -f   

#睡眠10秒

set timeout 10   

#set等价于=定义初始化

set username root  

#[lindex $argv 0|1|2..] 固定格式表示从外传递进来的参数 

set password [lindex $argv 0]   

set hostname [lindex $argv 1]

#spawn 表示执行指令 r表示文件目录  

spawn scp localfile [email protected]$hostname

  

#①这里的{}类似swich的那个

expect{

#匹配到一个直接执行然后就跳出,里面不会

"yes/no" {send "yes\r";expect "password:"; send "$pasword\n"}

"password:"{send "$password\r"}

}

#send "exit\r"    

expect eof

测试:可以通过脚本循环里调用:

./mv.sh $pwd $ip

##############################################################

# 通过ssh连接实现远程服务与控制台交互

##############################################################

#!/usr/bin/expect -f   

set timeout 10   

set username root   

set password huawei   

set hostname [lindex $argv 0]   

spawn ssh [email protected]$hostname   

expect{

#①等价于 exp_continue指令表示继续向下执行相当于case没break

"yes/no" {send "yes\r";exp_continue}

"password:"{send "$password\r"}

}  

#匹配控制台以#结尾输出,就执行加权指令

expect "*#"

send "chmod +x -R remotefile";

bye  

expect eof

也可以通过密钥实现不需要输入密码登陆,但是多台远程就需要每个密钥

参考:http://www.linux360.com.cn/html/Linux/tutorial/0554/1392498954.html

本机:

>ssh-keygen -t rsa

#会在~/.ssh/下生成公钥和密钥

>chmod 755 ~/.ssh -R

#拷贝公钥到远程主.ssh下,并改名authorized_keys

>scp ~/.ssh/id_rsa.pub remoteip:/home/user1/.ssh/authorized_keys

时间: 2024-10-14 23:35:50

linux-远程操作随笔的相关文章

远程操作linux的利器:putty和psftp

通过SSH远程操作Linux的好工具:putty(远程操作linux)  psftp(远程上传下载) 占用空间小,操作方便,不需安装配置即可使用,官方网站(http://www.chiark.greenend.org.uk/~sgtatham/putty/ )可提供相应软件的下载,免费的哦 到 Unix-Center.net/Unix体验中心注册个帐后就可 利用putty登陆 学学unix了 : psftp工具相关命令使用(转载于http://live.haliluya.org/weblog/2

java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息

1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html https://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html https://www.cnblogs.com/qdwyg2013/p/5650764.html#top 引入jar包的maven依赖如下所示:

linux基础学习随笔【根本没有排序哈】

直接整:init 3 5 6 0;init 3代表切换到字符界面,5代表切换到图形界面:6表示重启,等同于reboot:0表示关机=poweroff:改主机名:hostnamectl set-hostname centos7.localdomain;[记不住,TAB键补全]查看操作系统linux版本:cat /etc/centos-release;或者通过安装lsb_release -a ;查看内核版本: uname -rlscpu 查看CPU使用情况:lsblk查看硬盘:free - h查看内

Linux 远程登录——(九)

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; ms

防止远程操作中断的杀手工具--GNUScreen

参考链接 ("开源慕课平台") 场景描述 系统管理员经常通过ssh或者telnet远程登录到Linux服务器来进行远程管理,需要运行一些需要很长时间才能完成的任务,必须等待他们执行完毕,比如远程操作备份,或者传输一些大的文件.如果需要临时断开,或者发生意外网络中断和终端意外断开,你正在执行的任务就会被kill掉. 为了解决这样的问题,GNU screen就是防止这种情况的一种方法. 什么是screen screen是GNU计划中用于命令行终端切换的自由软件,用户可以通过连接多个本地或者

Lesson9——Linux远程登录

前提条件:1.能平通Linux 2.关闭防火墙(输入命令:/ect/init.d/iptables stop) 工具一:    putty-SSH 输入IP地址,协议选中SSH,命令行远程操作Linux系统. 工具而:    VNC 安装tigervnc-server-1.0.xxx.rpm,启动VNC服务,输入命令(vncserver_&). 在windows系统中打开VNC-E4-2.5.X86,输入IP地址和密码.

Linux远程登陆以及免密码登陆

最近学了一下linux 的东西,其中有一个是关于ssh(linux远程登陆的) 在这里总结一下: 首先关于ssh的安装 假设我们需要登陆的主机位B,在B主机的终端输入: ssh localhost 如果出现: 就说明还没有安装ssh,所以需要安装ssh 输入  sudo apt-get install openssh-server进行安装 ps:如果这里安装失败,可能是你的一个依附程序版本不对,按照它给的名字重新安装就行了 安装成功! 登陆就非常简单了 之后我们在我们远程进行操作的主机A输入:

Linux 远程登录

Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这事我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功能,默认ssh服务端口号为 22. Window系统上 Linux 远程登录客户端有SecureCRT, Putty, SSH Secure Shell等,本文以Putty为例来登录远程服务器. putty下载地址:http://www.putty.org/ 如果你下载了putty,请双击putty

Linux 远程和本地的一些解决方式

 有的小伙伴想Linux 远程登录 两台机器同一时候root登录.事实上能够同一时候多个用户的. Linux是多用户的多任务系统,能够同一时候多个用户登录到系统,也能够一个用户通过不同终端登录到一个系统运行不同的操作: [email protected]:~# w 22:42:31 up 32 days, 6:03, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0

Linux远程执行shell命令

Linux远程执行shell命令 在Linux系统中,我们经常想在A机器上,执行B机器上的SHELL命令. 下面这种方案,是一种流行可靠的方案. 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa # 远程服务器执行(B机器):用公钥给远程机器授权,首先需要将本地公钥拷贝到远程服务器上,远程机器授权全后,可以删除公钥 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized