本文所有是在Ubuntu中测试的linux 程序开机启动,可能有些不适用于其他版本的Linux。
SSH顾客端怎么联接SSH服务端
ssh -p [服务器端口号] [服务器登录账号]@[服务器IP或域名]
编撰一个登陆connect_ssh_server.sh(需输入密码)
#!/usr/bin/expect -f
set host
set port
set user
set password
set timeout -1
spawn ssh -o StrictHostKeyChecking=no -p $port $user@$host
expect "*assword:*"
send "$passwordr"
interact
expect eof
编撰一个登陆connect_ssh_server.sh(不须要输入密码linux 程序开机启动,SSH无密码手动登入)
#!/usr/bin/expect -f
set host
set port
set user
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
spawnssh碰到的问题
怎样实现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 @:
# 例如
scp -P 22 /home/decisionmaker/examples/test_upload.tar.xz helper@m.xyz.com:/home/helper/examples
# 如果上传的是目录而不是文件,scp命令需要加上-r选项
把文件从SSH服务器下载到本地笔记本(scp服务器路径本地路径)
scp -P @:
# 例如
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。
若是实在找不到配置文件红旗 linuxlinux系统好用吗,则依照关键词sshd_config或ssh_config查找:
root@tdar-srv:~# apt install mlocate
# 找到sshd_config的位置
root@tdar-srv:~# locate sshd_config
# 找到ssh_config的位置
root@tdar-srv:~# locate ssh_config
本文原创地址://gulass.cn/khdrhljsfwdb.html编辑:刘遄,审核员:暂无