230715_SSH远程控制

Haoliang Tang Lv2

OpenSSH是ssh协议的一种实现

Linux的话一般随系统安装好openssh的。而openssl是实现了各种密码学算法的库,which被openssh调用,故openssl是openssh的依赖。

服务端

服务端OpenSSH Daemon的服务不跑起来的话,客户端也无法连接

1
2
3
systemctl status sshd
systemctl start sshd
systemctl stop sshd

客户端

通过SSH Client连接到运行了SSH Server的远程机器上的命令:

1
ssh user@remote -p port
  • user 是你在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote 是远程机器的地址,可以是IP,域名
  • port 是SSH Server监听的端口,如果不指定的话就为默认值22

在远程机器上ifconfig查看服务端的ip;在远程机器上whoami查看服务端的用户名

服务端systemctl start sshd了之后,客户端才可能ssh连接上,输入远程服务端的登录密码

第一次远程登录成功后,客户端的~/.ssh下的known_hosts会写入此次连接的远程服务端的信息

之后的命令行操作就相当于是在敲远程机器的终端。

真的在老电脑的桌面上创建了js文件

退出

1
exit

ssh -v参数可以打印详细verbose信息,比如用了哪对公私钥。如果配置好后,还是连接不上可以-v来debug

1
ssh -v user@remote -p port
1
Causes ssh to print debugging messages about its progress. This is helpful in debugging connection, authentication, and configuration problems.

其他的都可以man ssh查看用法

scp传输文件

scp就是scp命令,不是在ssh连接的条件下再执行。不过当然前提还是remote开启了sshd

1
2
3
4
5
# 把本地的 /path/to/local/file 文件传输到远程的 /path/to/remote/file
scp /path/to/local/file user@remote:/path/to/remote/file

# 把远程的 /path/to/remote/file 下载到本地的 /path/to/local/file
scp user@remote:/path/to/remote/file /path/to/local/file

就和cp一样,前面的复制到后面

加上 -r 参数可以传送文件夹

user@remote: colon后啥都不写就默认是远程机器的home目录

1
scp -r 日向坂46 hl_tang@10.229.59.131:

然后老电脑的~目录下确实有了蓝蓝的歌。不得不说是个好的传文件方式,以后就这样了。不用移动硬盘的媒介插线,速度也很快。

1
scp -r ~/Music/乃木坂46 hl_tang@10.229.59.131:~/Music

远程~/Music下真的有紫歌了


再试试从远程下载

1
scp -r hl_tang@10.229.59.131:~/日向坂46 .

(. 可以指代当前目录)

然后当前目录下真的有了

参考资料

インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識

【大学计算机不会教的知识】Ep.5 远程服务器SSH 端口转发

SSH 基本用法

https://wiki.archlinux.org/title/OpenSSH

  • Title: 230715_SSH远程控制
  • Author: Haoliang Tang
  • Created at : 2023-07-15 00:00:00
  • Updated at : 2023-11-02 20:22:25
  • Link: https://hl-tang.github.io/2023/07/15/230715_SSH远程控制/
  • License: This work is licensed under CC BY-NC-SA 4.0.
 Comments
On this page
230715_SSH远程控制