Linux之ssh

简介: Linux之ssh

### Linux是学ACWing网课学来的,如有侵权问题,立刻删除

1.ssh登录

基本用法

远程登录服务器:

ssh user@hostname
user: 用户名
hostname: IP地址或域名

第一次登录时会提示:

The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established.
ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入yes,然后回车即可。

这样会将该服务器的信息记录在~/.ssh/known_hosts文件中。

然后输入密码即可登录到远程服务器中。

默认登录端口号为22。如果想登录某一特定端口:

ssh user@hostname -p 22

配置文件

创建文件 ~/.ssh/config。


然后在文件中输入:

Host myserver1
    HostName IP地址或域名
    User 用户名
Host myserver2
    HostName IP地址或域名
    User 用户名


之后再使用服务器时,可以直接使用别名myserver1、myserver2。

密钥登录

创建密钥:

ssh-keygen

然后一直回车即可。


执行结束后,~/.ssh/目录下会多两个文件:

1. id_rsa:私钥
2. id_rsa.pub:公钥

之后想免密码登录哪个服务器,就将公钥传给哪个服务器即可。


例如,想免密登录myserver服务器。则将公钥中的内容,复制到myserver中的~/.ssh/authorized_keys文件里即可。


也可以使用如下命令一键添加公钥:

ssh-copy-id myserver

执行命令

命令格式:

ssh user@hostname command


例如:

ssh user@hostname ls -a

或者

1. # 单引号中的$i可以求值
2. ssh myserver 'for ((i = 0; i < 10; i ++ )) do echo $i; done


或者

1. # 双引号中的$i不可以求值
2. ssh myserver "for ((i = 0; i < 10; i ++ )) do echo $i; done"

2.scp传文件

基本用法

命令格式:

scp source destination

将source路径下的文件复制到destination中


一次复制多个文件:

scp source1 source2 destination

复制文件夹:

scp -r ~/tmp myserver:/home/acs/


将本地家目录中的tmp文件夹复制到myserver服务器中的~/homework/目录下。

scp -r myserver:homework .

将本地家目录中的tmp文件夹复制到myserver服务器中的~/homework/目录下。


scp -r myserver:homework .将myserver服务器中的~/homework/文件夹复制到本地的当前路径下。

指定服务器的端口号:

scp -P 22 source1 source2 destination


注意: scp的-r -P等参数尽量加在source和destination之前。

使用scp配置其他服务器的vim和tmux

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


相关文章
|
15天前
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
107 59
|
4月前
|
安全 Linux Shell
Linux中SSH命令介绍
Linux中SSH命令介绍
|
2月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
2月前
|
安全 网络协议 Linux
在Linux中,什么是SSH,并且如何使用它?
在Linux中,什么是SSH,并且如何使用它?
|
2月前
|
监控 安全 Ubuntu
在Linux中,如何进行SSH服务配置?
在Linux中,如何进行SSH服务配置?
|
2月前
|
安全 算法 Linux
在Linux中,什么是SSH?它是如何工作的?
在Linux中,什么是SSH?它是如何工作的?
|
2月前
|
Linux 网络安全 Python
Linux离线安装Python时ssh和hashlib死活安装不上的解决方案
本文提供了Linux环境下离线安装Python时遇到的"ImportError: No module named _ssl"和"ERROR:root:code for hash md5|sha1|sha224|sha256|sha384|sha512 was not found"两个问题的解决方案,通过设置OpenSSL环境变量和编辑Python源码配置文件来解决。
23 1
|
2月前
|
Linux 网络安全
Linux开启ssh
Linux开启ssh
34 0
|
2月前
|
安全 Linux 网络安全
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
|
2月前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
57 0
下一篇
无影云桌面