当前位置:首页 » 操作系统 » linux远程执行命令

linux远程执行命令

发布时间: 2023-08-24 20:58:07

A. 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

B. 本地shell脚本中ssh到远程服务器并执行命令

        在实际运用中在当前服务器执行命令后,需要在另一台服务器继续执行某些命令,和耐衫分开去到另一台服务器执行也是比较麻烦的,因此整理下集中执行的方式唤腔

1、首先配置ssh免密操作

Linux 下实现SSH互信: https://www.jianshu.com/p/2456d98aa607

2、简单命令

ssh [email protected] "cd /var/lib; ls; cd "

2.1 使用时注意,双引号必须有。若没加双引号,第二条及之后的命令会在本地执行

2.2 分号是将两条语句间隔开

2.3 单双引的区别:单引号不会解析值,是什么就传什么;双引号会解析值,将解析结果传过去

3、多条命令

     ssh [email protected]<< reallssh

      cd /var/lib/test

      tar -zxvf api.com.tar.gz

      ......

      exit

      reallssh

3.1 命令写在 << reallssh(开始亩闷) 至 reallssh(结束) 之间

3.2 reallssh可自己定义为其他形式

3.3 在结束前加上exit退出远程

4、可能遇到的问题

问题:远程登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误

解决方案:字面意思是伪终端将无法分配,因为标准输入不是终端。

所以需要增加-t -t参数来强制伪终端分配,即使标准输入不是终端。

to force pseudo-tty allocation even if stdin isn’t a terminal.

参考样例如下:

ssh -t -t [email protected] -p 22

--------------------------------------------------------------------------------

参考:https://blog.csdn.net/jinking01/article/details/84386769

C. java Linux远程调用win执行UI

java通过winrm4j远程连接win执行命令
在Linux /UNIX/WINDOWS系统中,一般通过远程连接的方式在远端执行脚本命令或者其他,是通过SSH或者Telnet。笔者之前写伍塌过几遍运用JAVA使用SSH或者TELNET连接操作系统执行命令的博客。但这些协议之间存在的差别的。
在LINUX、UNIX系统中一般通过SSH协议来登录、执行命令;
而在Windows操作系统中,由于没有自带SSH协议,一般通过Telnet协议去登录、执行命者贺令;但是Telnet服务默认是不开启的。所以在大规模环境中,操作比较麻烦。另外Telnet协议存在安全问题。
如腔嫌圆果不需要执行命令,而是通过远程桌面的形式来操作windows,可以使用RDP协议,java有一个开源的项目properJavaRDP,可以在web页面或者GUI形式提供实现方案。

D. linux 远程桌面命令

Linux的远程桌面应该分两个部分,首先是Linux客户机连Linux服务器,接着是windows客户机连Linux服务器,还有现在用平板电脑连远程桌面。Linux客户机连Windows服务器其实没啥可说的,rdesktop和termianl
server比起windows自带的“远程桌面连接”。
命令:
1.
nfs,telnet等均可登录,即将远程的那个配置成主机服务器,这边作为客户机登录.
比如:telnet
telnet
192.168.1.123
说明:192.168.1.123就是远程的Ip地址
2.
现在设想登录到远程主机rhostname上,运行gimp
程序,并把它的显示输出到本机的屏幕上,那么需要依次执行以下操作:
1.启动X
服务器
#
xhost
+rhostname
(允许远程rhostname
机使用本机的X
Server)
2.telnet
(或ssh)登录远程主机
#
telnet
rhostname
3.设置DISPLAY
环境变量
指定了一个显示设备,所有的图形程序都将显示到这个设备。

DISPLAY
的格式为:hostname:displaynumber.screennumber。
hostname是本机主机名,或者是它的I
P
地址。一般d
i
s
p
l
a
y
n
u
m
b
e
r
、screennumber
都是0。
#
echo
$SHELL
如果返回的是
/bin/ksh,那么可以用:#
export
DISPLAY=
本机的IP
地址:0.0
如果返回的是
/bin/csh,那么可以用:#
setenv
DISPLAY
本机的IP地址:0.0
如果返回的是
/bin/bash,那么可以用:#
DISPLAY=
本机的IP
地址:0.0
#
export
DISPLAY
4.启动gimp
程序
#
gimp

E. linux中远程访问的命令

可以通过ssh命令连接。

命令使用语法:

1,指定用户:

ssh-lroot192.168.0.11或则

[email protected]

2,如果修改过ssh登录端口的可以:

ssh-p12333192.168.0.11

ssh-lroot-p12333192.168.0.11

[email protected]

连接步骤:

1,打开终端。

2,一般情况下使用ssh +目标地址即可,测试连接本机:

ssh127.0.0.1

3,首次登陆会提示你是否确认连接

输入yes,连接成功。

4,连接其他账户或者计算机需要输入密码才能连接。

F. linux 远程连接命令

Linux最广泛的远程连接命令就是ssh。
如果ssh没有安装就安装 RH系列就yum install openssh
ubuntu系列就是apt-get install openssh
安装完毕后,其他的电脑可以远程访问本机,

本机也可以访问远程电脑。连接远程电脑命令:ssh -l 用户名 主机名

热点内容
编程漩涡 发布:2025-02-01 16:01:51 浏览:325
司机会所访问 发布:2025-02-01 15:54:11 浏览:780
家用电脑改成服务器并让外网访问 发布:2025-02-01 15:30:23 浏览:354
javac工资 发布:2025-02-01 15:24:28 浏览:22
如何删除服务器登录账号 发布:2025-02-01 15:21:05 浏览:498
瑞萨编程器 发布:2025-02-01 15:19:18 浏览:85
上海ntp服务器搭建 发布:2025-02-01 15:03:38 浏览:991
c游戏编程基础 发布:2025-02-01 15:00:17 浏览:993
routejs怎么动态配置 发布:2025-02-01 14:59:07 浏览:502
家用电脑安装服务器内存 发布:2025-02-01 14:38:50 浏览:257