导航:首页 > 程序命令 > ssh执行多条命令行

ssh执行多条命令行

发布时间:2022-03-14 19:07:03

A. java ganymed-ssh2,session 执行多条命令,最好可以在前一条的基础上,执行下一条。

多行命令用分好隔开就行了! 如“cd /home;ls -l”

B. linux中ssh如何远程执行一条命令,而且不登录远程服务器

一 SSH命令使用技巧

- 远程登录

ssh [email protected]

- 远程执行

ssh [email protected] 'command ...'

- 远程复制

scp [email protected]:/remote/path /local/path

scp /local/path [email protected]:/remote/path

- X forward

ssh -X [email protected]

xcommand ...

- Tunnel / Portforward

ssh -L 1234:remote.machine:4321 [email protected]

ssh -R 1234:local.machine:4321 [email protected]

ssh -L 1234:other.machine:4321 [email protected]

二, 实作

1) 禁止 root 登录

# vi /etc/ssh/sshd_config

PermitRootLogin no

2) 废除密码登录, 强迫使用 RSA 验证(假设 ssh 账户为 user1 )

# vi /etc/ssh/sshd_config

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication no

# service sshd restart

# su - user1

$ mkdir ~/.ssh 2>/dev/null

$ chmod 700 ~/.ssh

$ touch ~/.ssh/authorized_keys

$ chmod 644 ~/.ssh/authorized_keys

登入端:

$ ssh-keygen -t rsa

(按三下 enter 完成﹔不需设密码,除非您会用 ssh-agent 。)

$ scp ~/.ssh/id_rsa.pub [email protected]:id_rsa.pub

(若是 windows client, 可用 puttygen.exe 产生 public key,

然后复制到 server 端后修改之, 使其内容成为单一一行.)

回到 server 端:

$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

$ rm ~/id_rsa.pub

$ exit

3) 限制 su / sudo 名单:

# vi /etc/pam.d/su

auth required /lib/security/$ISA/pam_wheel.so use_uid

# visudo

%wheel ALL=(ALL) ALL

# gpasswd -a user1 wheel

4) 限制 ssh 使用者名单

# vi /etc/pam.d/sshd

auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users ōnerr=fail

# echo user1 >> /etc/ssh_users

C. ssh如何远程执行命令

ssh支持远程命令参数
可以类似方式嵌套:
alias pushbaby='cd /Users/xuqiang/Develop/work/tickets/baby/deploy;scp -r -v -i ~/.ssh/pedal/id_rsa baby.tar.gz baby.sql.txt [email protected]:/home/qiang.xu/tmp;ssh [email protected] -i ~/.ssh/pedal/id_rsa "source ~/.bash_profile;pushbaby";ssh [email protected] -i ~/.ssh/pedal/id_rsa "ssh [email protected] \"source ~/.bash_profile;pushbaby\""'更新要注意的是alias在非交互模式无法使用,需将替换成function

D. SSH中在文件下执行命令

# screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
参数说明
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。

E. windows下python实现自动ssh网络设备执行多条命令并保存显示结果用什么库实现

假设从主机A,检查主机B上的进程,
需要在主机B上建立检查用户,例如叫x,
并设置通过public key认证登录SSH,不会可以google搜一下,

然后,在A机器上执行:
ssh x@B ~/command.sh > result.txt

command.sh就是B机器上放置在x目录下的脚本。
输出结果应该是写到了result.txt

或者另一种写法
result=`ssh x@B ~/command.sh`

结果直接保存到result变量中了。

暂时没有linux环境,所以没有实际测试,你自己试试吧

F. 请问我在Linux下想实现一个终端同时通过SSH执行其它多个终端内的shell脚本怎么实现

ssh $IP_102 -l $User "sh 102.sh"&
ssh $IP_103 -l $User "sh 103.sh"&
这样执行就可以同时执行了,否则是一个一个执行的。
如果判断是否执行完成就写一个log日志,看好读日志就可以了。

G. 请教如何在Bash里调用ssh远程执行命令

直接将所有可执行的各种命令写在 bash 的 SHELL 脚本文件中即可。当然了,至于说该 SHELL 脚本文件是否可以执行?并不是说只要你的SHELL脚本文件中的命令都是可执行的,就能够正确执行的。必须要使用命令:chmod +x my_shell.txt 将其修改成可执行权限,且 SHELL 脚本文件中的每一个命令都是拥有 x 权限(可执行权限)的,才能够在命令行状态 $ 下面正常执行。

H. libssh2 执行多个命令

如果你需要在不同的channel里发是可以发多次的,只需要每发送一次先释放channel,在建立连接;
如果在同一个channel里发送多次命令是不行的,read会阻塞。

I. java ssh linux执行命令和命令行执行的区别

假设从主机A,检查主机B上的进程, 需要在主机B上建立检查用户,例如叫x, 并设置通过public key认证登录SSH,不会可以google搜一下, 然后,在A机器上执行: ssh x@B ~/command.sh > result.txt command.sh就是B机器上放置在x目录下的脚本

阅读全文

与ssh执行多条命令行相关的资料

热点内容
安卓手机图标怎么变成一样的 浏览:358
pythongui选择文件 浏览:481
预付APP哪个部门管理 浏览:612
程序员入门英语听力 浏览:128
服务器网站被大量不明地址访问 浏览:376
软件分享网站源码 浏览:611
rn是什么文件夹 浏览:988
钢筋核心区域加密 浏览:279
nginxphp慢 浏览:292
服务器系统如何写入u盘 浏览:12
cs社区服务器怎么改中文 浏览:25
360手机取消加密 浏览:964
python矩阵横向求和 浏览:637
台湾服务器主板厂商有哪些云主机 浏览:81
php代码部署到云服务器 浏览:724
本地服务器怎么打个人网站 浏览:133
用姓做个特效用哪个app 浏览:784
安卓faceme酷脸怎么打开 浏览:292
python矩阵的运算符 浏览:802
程序员进公司干什么 浏览:975