shell免交互登录

1.免交互自动化脚本 //SSH免交互登录方法
   (1)expect免交互
       sudo apt-get install expect
       vi expect.sh   //内容如下:
       #!/usr/bin/expect
       set ip 192.168.88.190
       set user test
       set pass "123456"
       spawn ssh $user@$ip
       expect "password:" {send "$pass\r"}
       expect "$user@*" {send "df -h\r"}
       expect "$user@*" {send "exit\r"}
       expect eof
   (2)sshpass免交互
       sudo apt-get install sshpass
       # 免密ssh远程
       sshpass -p '123456' ssh -p 22 test@192.168.88.190
       # 免密ssh远程,并执行shell语句
       sshpass -p '123456' ssh -p 22 test@192.168.88.190 "ls -trl"
       # 免密scp拉取文件到本地
       sshpass -p '123456' scp -P 22 test@192.168.88.190:/opt/file.txt /tmp/
       # 免密scp传输文件
       sshpass -p '123456' scp -P 22 /tmp/file.txt test@192.168.88.190:/opt/
2.多终端开启
       终端将一闪而过,为避免其一闪而过可以进行如下设置:
       在terminal点右键,选择Profiles->Profile Preferences然后找到Title and Command,里面 有一项When command exits,后面选择为Hold the terminal open
       例子:gnome-terminal --tab --title="test" -- bash -c --command="pwd.exec bash"
3.EOF用法(免交互输入)    //输入文本ls -trl  pwd
       cat << EOF
       ls -trl
       pwd
       EOF

4.脚本后台运行
     nohup : 结果默认会输出到nohup.out;使用Ctrl + C发送SIGINT信号,程序关闭;关闭session发送SIGHUP信号,程序免疫
     & : 结果会输出到终端; 使用Ctrl + C发送SIGINT信号,程序免疫; 关闭session发送SIGHUP信号程序关闭
    nohup &同时免疫SIGINT和SIGHUP信号

posted on   枫飘过的天1  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示