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 仓库 / gitlink / submodule 问题总结
大数据·git·elasticsearch
LuDvei6 小时前
git拉取报错问题
git
程序猿多布7 小时前
Fork操作笔记
git·fork
荪荪7 小时前
在本地建立git仓库
git
OYangxf8 小时前
Git Rollback, Reset and Restore的使用
git
AIMath~8 小时前
git管理代码仓库的工具
git
techdashen13 小时前
为 Agent 重新设计的 Git:Cloudflare Artifacts 是什么,怎么工作的
git
赖在沙发上的熊13 小时前
Git多仓库协作中和并冲突问题:“不相关历史合并”+“问跟踪文件冲突”
git
shimly12345614 小时前
vscode 很难删除 copilot,如何关闭 copilot 功能?
ide·vscode·copilot
风若飞14 小时前
▎ 适用于完全没有 Git 经验的新手
git