AcWing《Linux基础课》第4讲 SSH

8 篇文章 0 订阅
8 篇文章 1 订阅

4 SSH

在AC终端获取SSH服务器

homework 4 getinfo

通过SSH登录远程服务器

4.1 SSH登录

假设user是用户名,hostname是IP地址或域名,则按如下方式登录

ssh user@hostname

首次登录会提示之前未登录过这台服务器,输入yes或直接回车会把该服务器的信息记录到~/.ssh/known_hosts中,然后再输入密码就能登录到该服务器。若要退出,可用命令exit

SSH默认端口为22,可显示声明服务器端口号

ssh user@hostname -p 22

配置登录

可为ssh user@hostname起别名,方便登录。在~/.ssh/config中添加服务器信息

Host myserver
	HostName IP地址或域名
	User 用户名

之后就能使用ssh myserver登录到远程服务器。

密钥登录

首先创建密钥,输入以下命令,一直回车即可。

ssh-keygen

然后~/.ssh下会生成两个文件

  • 私钥:id_rsa
  • 公钥:id_rsa.pub

可把公钥内容复制到远程服务器的~/.ssh/authorized_keys中,或直接使用命令ssh-copy-id myserver

4.2 SSH命令

SSH命令方便写脚本,基本格式如下

ssh user@hostname command

command就是shell命令,取决于服务器是什么系统

在SSH中,单引号''括起的表达式或命令可以直接在远程服务器执行,而双引号""括起的表达式不能执行,只能视为字符串,这与在本地服务器不一样。

4.3 SSH传文件

为了实现两个服务器传输文件,可用命令scp把源文件source复制到destination

scp source destination

也可指定多个文件复制到destination

scp source1 source2 ... destination

如果需要复制文件夹,需要用参数-r

scp -r source destination

本地服务器可省略域名,而远程服务器需要用域名标记myserver:,例如

scp -r ~/tmp myserver:homework/

也可指定端口号

scp -p 22 source destination

注意,参数-p-r需要在source之前。

为了在远程服务器部署相同的环境,可以用SSH复制配置文件,例如配置vimtmux

scp ~/.vimrc ~/.tmux.conf myserver:

这里省略了destination的目录,表示家目录home

4.4 作业核心代码

task1

ssh xxxxxxx@xxx.xxx.xxx.xxx
yes
xxxxxxxx  # 密码
exit

vim ~/.ssh/config

~/.ssh/config加入以下内容

Host myserver
	HostName xxx.xxx.xxx.xxx
	User xxxxxxx

配置秘钥登录

ssh-keygen
ssh-copy-id myserver

task2

ssh myserver
mkdir -p ~/homework/lesson_4/homework_1/
exit

scp main.cpp myserver:~/homework/lesson_4/homework_1/
mkdir dir
scp myserver:/etc/lsb-release ./dir

mkdir的参数-p用于递归创建目录,解决中间目录不存在而无法创建的问题

task3

ssh myserver
mkdir -p ~/homework/lesson_4/homework_2/
exit

scp -r ./dir myserver:~/homework/lesson_4/homework_2/

task4

mkdir dir
scp -r myserver:/var/lib/locales/supported.d ./dir

task5

ssh myserver
mkdir -p ~/homework/lesson_4/homework_4/
exit

创建文件remote_mkdir.sh

#! /bin/bash

ssh myserver mkdir homework/lesson_4/homework_4/\"$1\"

创建文件remote_rmdir.sh

#! /bin/bash

ssh myserver rm homework/lesson_4/homework_4/\"$1\" -r
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值