您当前所在位置:首页安装教程Linux 简单使用ssh命令

Linux 简单使用ssh命令

更新:2023-11-08 20:29:34编辑:tooool归类:安装教程人气:115

本文所有命令是在Ubuntu中测试的,可能有些命令不适用于其他版本的Linux。

Linux 简单使用ssh命令

SSH客户端如何连接SSH服务端

ssh -p [服务器端口号] [服务器登录账号]@[服务器IP或域名]

编写一个登录脚本connect_ssh_server.sh(需输入密码)

#!/usr/bin/expect -f set host <你的SSH服务器 主机名或IP> set port <你的SSH服务器 端口> set user <你的SSH服务器 登录账号> set password <你的SSH服务器 登录密码> set timeout -1 spawn ssh -o StrictHostKeyChecking=no -p $port $user@$host expect "*assword:*" send "$password\r" interact expect eof

编写一个登录脚本connect_ssh_server.sh(不需要输入密码,SSH无密码自动登录)

#!/usr/bin/expect -f set host <你的SSH服务器 主机名或IP> set port <你的SSH服务器 端口> set user <你的SSH服务器 登录账号> set timeout -1 spawn ssh -o StrictHostKeyChecking=no -p $port $user@$host interact expect eof

执行connect_ssh_server.sh这个脚本时可能会遇到问题,解决方法如下

# 执行以下命令后,连接成功 ./connect_ssh_server.sh # 执行以下命令后,连接失败 sh connect_ssh_server.sh # 执行以下命令后,连接失败 . connect_ssh_server.sh

spawn ssh遇到的问题

如何实现SSH客户端无密码自动登录SSH服务器(也可用于实现git提交代码时无密码提交)

第一步:(客户端) 在SSH客户端执行以下操作

$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub # 将id_rsa.pub上传到SSH服务器的helper账号的家目录 $ scp -P 22 ~/.ssh/id_rsa.pub helper@m.xyz.com:/home/helper

第二步:(服务端) 在SSH服务端执行以下操作(以helper账号登录SSH服务器)

# 查看客户端上传的id_rsa.pub是否存在 helper@hgdm:~$ ls -l | grep id_rsa.pub -rw-rw-r-- 1 helper helper 0 Apr 7 11:23 id_rsa.pub # 将客户端的key追加到~/.ssh/authorized_keys的最后面 helper@hgdm:~$ cat id_rsa.pub >> ~/.ssh/authorized_keys # 必须把~/.ssh的权限设置为700,否则大概率遭遇失败 helper@hgdm:~$ chmod 700 ~/.ssh # 必须把~/.ssh/authorized_keys的权限设置为600,否则大概率遭遇失败 helper@hgdm:~$ chmod 600 ~/.ssh/authorized_keys

第三步:(客户端) 执行ssh命令连接SSH服务器,检查是否实现了无密码登录。

ssh -p 22 helper@m.xyz.com

如何通过SSH上传文件和下载文件 (使用scp命令)

把文件从本地电脑上传到SSH服务器(scp 本地路径 服务器路径)

scp -P <SSH服务器端口号> <本地电脑某个待上传的文件路径> <SSH服务器登录账号>@<SSH服务器主机名或IP>:<SSH服务器上的某个目录(用于存放本地电脑上传的文件)> # 例如 scp -P 22 /home/decisionmaker/examples/test_upload.tar.xz helper@m.xyz.com:/home/helper/examples # 如果上传的是目录而不是文件,scp命令需要加上-r选项

把文件从SSH服务器下载到本地电脑(scp 服务器路径 本地路径)

scp -P <SSH服务器端口号> <SSH服务器登录账号>@<SSH服务器主机名或IP>:<SSH服务器上的某个待下载的文件路径> <本地电脑的某个目录(用于存放从SSH服务器下载的文件)> # 例如 scp -P 22 helper@m.xyz.com:/home/helper/examples/test_download.zip /home/decisionmaker/examples # 如果下载的是目录而不是文件,scp命令需要加上-r选项

在SSH客户端执行scp命令 上传文件

在SSH客户端执行scp命令 下载文件

如何修改SSH服务的端口和禁用root登录

执行下面的两个步骤

# 第一步 sudo vi /etc/ssh/sshd_config # 禁用root登录: 把PermitRootLogin由yes改为no PermitRootLogin no # 修改端口: 把Port由22改为其他端口,如11927 Port 11927 # 第二步 重启sshd服务 sudo systemctl restart sshd.service

安装、启动、停止、重启、开机自启、查看SSH服务

查看SSH服务是否已安装

# 方法1 decisionmaker@tdar-srv:~$ dpkg -l | cut -d " " -f3 | grep openssh openssh-client openssh-server openssh-sftp-server # 方法2 decisionmaker@tdar-srv:~$ apt list openssh-* --installed Listing... Done openssh-client/focal-updates,now 1:8.2p1-4ubuntu0.4 amd64 [installed] openssh-server/focal-updates,now 1:8.2p1-4ubuntu0.4 amd64 [installed] openssh-sftp-server/focal-updates,now 1:8.2p1-4ubuntu0.4 amd64 [installed,automatic]

安装SSH服务

sudo apt update # 安装ssh服务端 sudo apt install openssh-server # 安装ssh客户端 sudo apt install openssh-client

启动、停止、重启、开机自动启动SSH服务

# 激活sshd服务 开机自启(开机时自动启动) sudo systemctl enable sshd # 禁用sshd服务 开机自启 sudo systemctl disable sshd # 查看sshd服务 是否激活了开机自启 sudo systemctl is-enabled sshd # 启动sshd服务 sudo systemctl start sshd # 停止sshd服务 sudo systemctl stop sshd # 直接kill掉sshd服务,慎用这个命令,一般用systemctl stop停止服务 sudo systemctl kill sshd # 重启sshd服务 sudo systemctl restart sshd # 查看sshd服务的状态(是启动了,还是停止了) sudo systemctl status sshd

查看SSH配置文件的位置

ssh服务端的配置文件通常位于: /etc/ssh/sshd_config/etc/ssh/sshd_config.d

ssh客户端的配置文件通常位于: /etc/ssh/ssh_config/etc/ssh/ssh_config.d

若是实在找不到配置文件,则根据关键词sshd_configssh_config查找:

root@tdar-srv:~# apt install mlocate # 找到sshd_config的位置 root@tdar-srv:~# locate sshd_config # 找到ssh_config的位置 root@tdar-srv:~# locate ssh_config

我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

十三年,骆科桃的“蒙面人生” 电脑开机就黑屏只有鼠标