ssh 基本用法与免密登录

基本用法

远程连接服务器:
ssh user@hostname

  • user:用户名
  • hostname:IP地址或域名

举个例子,假设我们的user是tom,hostname是123.45.67.890

可以输入:ssh tom@123.45.67.890 第一次登陆时会提示:
The authenticity of host '123.45.67.890 (123.45.67.890)' 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文件中。

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


配置别名登录文件

我们每次可以使用基本用法 里的登录方式,用户名和IP\域名,这样一大长串不太方便。因此,我们来配置服务器别名,假设就叫student1。

创建文件~/.ssh/config,然后在文件中输入:

复制代码
Host student1
	Hostname 123.45.67.890
	User tom

之后再想登录该服务器的tom用户时,可以直接输入ssh student1,再输入密码就可以了。


免密登录

现在有了别名登录方便多了,可每次登录都要输入密码还是不太好,接下来配置免密登录。

在本次配置密匙:
ssh-keygen

然后一直回车即可。执行结束后,~/.ssh/目录下会多出两个文件:

  • id_rsa:私钥
  • id_rsa.pub:公钥
    这个公钥是可以重复利用的,之后想远程登录到哪个服务器就可以将公钥传到该服务器
    例如,想免密登录student1服务器,可以将公钥中的内容,复制到student1中的~/.ssh/authorized_keys文件即可。
    也可以使用如下命令一键添加公钥:
    ssh-copy-id student1

以上就是关于ssh比较基础的配置和用法,与ssh相关的还有一个比较好的工具scp:能够在本地和远程,远程和远程之前进行文件传输。后续如果使用频繁会继续补充。

相关推荐
不怕犯错,就怕不做6 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
ELI_He99911 小时前
如何还原已经推送的提交
git
️学习的小王13 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
sunburn-13 小时前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法
愚蠢得人13 小时前
Git Worktree实用指南:同时开发两个分支,不再反复切换
git
逐步前行17 小时前
ESP32-S3-VSCode扩展ESP-IDF
ide·vscode·编辑器
lskaixin17 小时前
Git命令
git
171320330计算机毕设编程18 小时前
2027计算机毕设五大方向对比&选题推荐
java·ide·python·算法·django·php·推荐算法
_道隐_19 小时前
git 如何把一个已经commit到本地分支的,被错误staged的文件,单独拿出来revert呢?
git
lingran__20 小时前
Git 完全指南(一):本地仓库基础操作
linux·git·开发工具·devops·版本控制