ssh 远程登陆服务器

PuTTY是一款支持Telnet,ssh连接的连接软件。类似于类Unix下的ssh服务,可以通过其连接远程服务器 并进行命令行操作。 下载

Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录

利用 ssh 的用户配置文件 config 管理 ssh 会话

通过ssh远程登录

ssh root@111.111.111.111
  • 查看数据盘 fdisk -l
  • 查看硬盘 df -h

ctrl-r 清屏 login incorrect

账号管理

添加一个管理账号

毕竟每次有用root 账户登录 这样不够安全 所以再自己建一个 首先,远程连接并用root 账户登录

  1. 添加账户 adduser xxxxxxEnter new UNIX password: ....

添加账户

  1. 设置修改权限
# 添加xxx 进入管理组
gpasswd -a xxx sudo  

sudo visudo

添加

xxx  ALL=(ALL,ALL) ALL

以后就可以

ssh xxx@111.111.111.111
#在数据该账号之前设置的密码登录

修改权限1修改权限2

nano 模式下 如何保存 并退出

直接 ctrl-x 退出 会询问是否保存 Y 确定 后回车

实现实现登录无密码登录

原理和github的一样,如果本地配置过github,那本地就已经是有的了

本地电脑生成秘钥

  1. 生成
ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com"

1

 eval "$(ssh-agent -s)"
  1. 加入代理
ssh-add ~/.ssh/id_rsa 

2

  1. 开启ssh代理

window电脑 看 git 中的笔记

在服务器上生成秘钥

#生成秘钥
ssh-keygen -t rsa -b 4096 -C "xxx@xx.com"

...(yes)
# 开启代理
eval "$(ssh-agent -s)"

# 加入代理 
ssh-add  ~/.ssh/id_rsa


# 进入.ssh 目录下
# 授权钥匙  -- 生成一个授权文件
## 进入后直接 wq!  主要是生成这个文件
vi authorized_keys 

3

vi命令

  • q! 退出
  • wq! 保存退出

把 本地公钥 添加到服务器

进入服务器的authorized_keys 文件
把本地生成的公钥 id_rsa.pub 添加进入authorized_keys 此时服务器上就已经持有某台电脑的公钥了 ,这台电脑就可以不用密码登录了, 但还有需要配置

修改 authorized_keys 的权限

chmod 600 authorized_keys

# 重启 ssh
sudo service ssh restart

通过这样配置就可以进ssh 无密码登录, 关键点是给服务器的 authorized_keys 添加 电脑的公钥进取, 如果我们使用的是 xshell 或者putty 进行管理 也需要给服务器配置 authorized_keys 以及给软件配置或者生产私钥

Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录

如果多个人需要多个公钥呢

手动追加的方式

注意追加前authorized_keys文件的末尾需要有个换行符。

账号A生成了id_rsa.pub_A 账号B生成了id_rsa.pub_B 把这两个都拷贝到主机上

到主机上执行:

cat id_rsa.pub_A >> authorized_keys 
cat id_rsa.pub_B >> authorized_keys 

修改登录端口

sudo vi /etc/ssh/sshd_config
# 端口
# 0-65536 都可以用  0-1024 一般都被系统占用 不建议用
port 22 

UseDNS no

·····
PasswordAuthentication yes # 是否允许密码登录  如果开启了ssh 就设置为no
AllowUsers xxx # xxx为管理名

然后重启 sudo service ssh restart

修改后登录 ssh -p 39999 root@111.111.111.1

去掉默认 root 登录端口

比方说阿里云 默认的登录名为root给关掉

sudo vi /etc/ssh/sshd_config
PermitRootLogin no #是否开启root登录  如果以及配置好多个登录账号了就设置为no 
PasswordAuthentication no # 是否允许密码登录  如果开启了ssh 就设置为no

iptables Fail2Ban 增强安全

iptables 防火墙

配置文件


subl .zshrc

source .zshrc