ssh密钥登录及远程执行命令

https://www.cnblogs.com/chencye/p/6130476.html

 

ssh密钥登录及远程执行命令

1 使用密钥登录

    1.1 创建密钥对

    1.2 上传公钥文件

    1.3 导入公钥信息

    1.4 使用密钥对登录

2 远程执行命令

    2.1 简单命令

    2.2 使用脚本执行多命令

以192.168.1.104作为客户机

以192.168.1.103作为服务器

1 使用密钥登录

1.1 创建密钥对

在SSH客户机创建用户秘钥对

ssh-keygen -t rsa之后全回车即可

将会在~/.ssh目录中生成两个文件:id_rsa(私钥) 与 id_rsa.pub(公钥)

1.2 上传公钥文件

当然,也可以直接将内容拷贝粘贴

scp ~/.ssh/id_rsa.pub chencye@192.168.1.103:~/.ssh/id_rsa.pub_192.168.1.104

1.3 导入公钥信息

在SSH服务器中导入公钥文本

在服务器中,目标用户(用来远程登录的用户)的公钥数据库位于~/.ssh目录下,默认文件名是authorized_keys。

注意修改authorized_keys权限

# 如果authorized_keys不存在,则创建它

touch ~/.ssh/authorized_keys

# 将上传的公钥添加到authorized_keys后面

cat ~/.ssh/id_rsa.pub_192.168.1.104 >> ~/.ssh/authorized_keys

# 修改authorized_keys权限

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

# 查看authorized_keys最后一行

tail -1 ~/.ssh/authorized_keys

1.4 使用密钥对登录

在客户机上,可以直接使用命令ssh 192.168.1.103进行登录,而不需要输入用户名与密码了

2 远程执行命令

http://www.cnblogs.com/ilfmonday/p/ShellRemote.html

2.1 简单命令

双引号,必须有。如果不加双引号,第二个命令在本地执行

分号,两个命令之间用分号隔开

ssh chencye@192.168.1.103 "cd ~ ; touch ssh.txt"

2.2 使用脚本执行多命令

#!/bin/bash

ssh chencye@192.168.1.103 > /dev/null 2>&1 << sshoff

    cd ~

    touch autossh.txt

exit

sshoff

 

echo "done!"

远程执行的内容在<< sshoff 至sshoff之间,在远程机器上的操作就位于其中

注意的点:

sshoff可以随便修改成其他形式

重定向目的在于不显示远程的输出了

在结束前,加exit退出远程节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值