问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Ubuntu下使用SSH命令进行远程登录的详细教程

创作时间:
作者:
@小白创作中心

Ubuntu下使用SSH命令进行远程登录的详细教程

引用
1
来源
1.
https://cloud.tencent.com/developer/article/2148078

在Ubuntu系统下使用SSH命令进行远程登录是一种常见且高效的方式,特别是在需要在本地主机上编写代码并在远程服务器上进行训练的场景中。本文将详细介绍如何在Ubuntu系统下配置和使用SSH命令进行远程登录,包括基本的SSH连接配置和进阶的公钥认证配置。

基础:SSH命令连接

Step 1:SSH程序的安装

确保在服务器上安装好了openssh-server程序,在本地主机上安装好了openssh-client程序。

sudo apt install openssh-client # 本地主机运行此条,实际上通常是默认安装client端程序的
sudo apt install openssh-server # 服务器运行此条命令安装

Step 2:服务器启动SSH服务

以下命令都只针对服务器端(server only)。一般服务器上安装SSH完成后,会自动启动SSH服务,并且默认随系统启动,如果没有,请手动启动:

sudo /etc/init.d/ssh start # 服务器启动SSH-server服务

其他命令:

sudo /etc/init.d/ssh stop # server停止SSH服务
sudo /etc/init.d/ssh restart # server重启SSH服务

Step 3:查询服务器的IP地址

在服务器终端运行以下命令:

ifconfig # 查询IP地址,在返回信息中找到自己的IP地址

从返回信息中可以看到服务器的IP地址(例如:10.170.11.147)。

Step 4:在本地主机端SSH远程登录服务器

这一步需要知道服务器的用户名(例如:yucicheung)及IP地址。在本地主机上运行以下命令:

ssh yucicheung@10.170.11.147
# 或
ssh -l yucicheung 10.170.11.147
# 如果需要调用图形界面程序
ssh -X yucicheung@10.170.11.147

初次登录时会出现以下信息,请记住要输入的密码是服务器主机本身的登录密码:

以上表示连接成功,且命令提示符前的用户名@主机名由本地主机变成服务器的信息,即表明现在该终端所有的命令都是在服务器中执行。

本地主机端登录相关的其他命令:

  • 如果服务器的SSH服务没有开启在22端口,那么SSH链接时则需要用-p指定端口(如202):
ssh -p 202 yucicheung@10.170.11.147
# 或
ssh -l yucicheung -p 202 10.170.11.147

Step 5:退出远程登录

用Ctrl+D或者

exit

进阶:利用公钥省去口令输入

每次登录远程主机都需要输入密码是很不便捷的,如果要加速这一步骤,可以利用密钥对进行连接,主要思路是:生成一对公钥私钥,私钥在local主机上,公钥在远程服务器上,每次建立SSH连接自动检查密钥对是否匹配。

Step 1 生成密钥对

ssh-keygen -t rsa #-t表示选择类型,类型为rsa

执行以后会在$HOME目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub

Step 2 复制公钥至服务器

# 登录远程服务器
ssh yucicheung@10.170.11.147 
# 在服务器上创建.ssh文件夹,如果已经存在就跳过此步
mkdir .ssh 
# 为了保证.ssh文件夹的安全,应取消其他用户对文件夹的所有权限
chmod 700 .ssh
# 退出登录
exit
# 本地主机的公钥复制到远程服务器,作为已认证密钥
scp /home/yucicheung/.ssh/id_rsa.pub yucicheung@10.170.44.206:/home/yucicheung/.ssh/authorized_keys

在进行以上配置以后,再进行连接时,就可以免去口令(密码)的输入了。

参考资料

《Linux从入门到精通(第2版)》刘忆智 等

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号