使用ssh远程登陆linux

SSH是linux中,远程登录会话的一种安全协议
linux服务器上,一般都已经集成了ssh的服务端软件,并自启;
如果需要在linux上用ssh客户端去登录别的linux服务器,则需要安装ssh的客户端,
我的linux安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话
yum -y install openssh-clients.x86_64 (-y 自动选择y,全自动)

  1. 在linux中远程登录另一台linux
    ssh centos2没有指定登录者身份,默认用当前会话的身份
    前提是已经在/etc/hosts文件下添加
    在这里插入图片描述
    在这里插入图片描述
    否则使用ssh 192.168.137.11
    ssh lee@centos2 指定以用户lee来登录远程的centos2 ( 前提lee用户在centos2存在)

  2. 从一台linux上发送一个远程指令给另一台远程linux去执行
    ssh cts02 "command"
    例:ssh centos2 "mkdir /root/xyz"
    java程序启动
    java -cp x.jar:y.jar:z.jar (要执行的jar, : 分割) com.test.App (全包名的类)
    发送远程指令执行java程序示范:
    ssh centos2 "/root/install/jdk1.8.0_60/bin/java -cp /root/hello.jar HelloWorld > /root/hello.log"
    或者 ssh centos2 "source /etc/profile;java -cp /root/x.jar HelloWorld"

  3. 从一台linux远程拷贝文件到另一台linux
    scp 远程拷贝(前提是两台linux上都必须有这个scp程序)
    拷贝文件:
    scp ./a.txt root@centos2:/root/
    拷贝文件夹:
    scp -r ./aaa/ cts02:/root/

  4. SSH免密验证(密钥)配置
    ssh会话一定会验证登陆者的身份!
    验证的机制有两种:
    a) 用户名+密码验证
    b) 密钥验证
    请求方需要事先创建一对密钥(公钥,私钥; 私钥自己持有,公钥交给目标机器)
    实现步骤:
    在A机器(centos)上生成密钥对:
    ssh-keygen
    在这里插入图片描述
    将生成好的公钥注册给目标机器(centos2):
    ssh-copy-id centos2在centos2的/root下会生成一个.ssh的隐藏文件,公钥在里面
    反过来centos2到centos要免密也要做同样的操作

猜你喜欢

转载自blog.csdn.net/weixin_43683017/article/details/85227504