Welcome to the Linux Foundation Forum!
SSH CHROOT Help Required
ayazbutt1
Posts: 1
Hello all,
I am configuring SSH CHROOT on RedHat Enterprise Linux 5.3 but I have a problem with it. My problem is that when a I login with a chrooted user through putty, after entering password putty session is closed and when I view message in log file in /var/log it shows that session is disconnected by localhost.
so please someone help me to resolve issue. If someone has chroot configurations then please forward me.
thank you very much in advance.
Ayaz Ahmed
0
Comments
-
The newer versions of ssh(4.8p1 or higher) has a built in chroot environment that I usually use for sftp only connections. I have some notes on setting up an sftp only chrooted ssh environment that I will post below. I'm sure it has some mistakes and typos, but it should get you going in the correct direction.
##############################################################
# Installing a new SSH server to handle chrooted sftp requests
##############################################################
We are going to keep our current ssh rpm install open to our internal addresses and install a openssh version later than 4.8p1 under /usr/local/openssh just for the chrooting the incoming secure ftp connections. We will do this by restricting the local openssh to listen on the internal ip address and installing a new ssh server to listen on the ip address of the external interface.In this example, we are going to bind the redhat yum installed ssh server to the local ip address 192.168.0.6 address. We are going to set up a second later version of chrooted ssh to the external 10.0.0.100 address.
1> Restrict the current rpm based openssh install to the internal ip address.
# sudo vi /etc/ssh/sshd_config
# Change the ListenAddress 0.0.0.0(all) to the internal ip address(eth2)
ListenAddress 192.168.0.6
# sudo /sbin/service sshd restart
2> Install an ssh version later then 4.8p1 which in our case is the latest version
5.1p1. To do this we are going to create a directory under /usr/src and copy the source
file over to it. In our case we have a copy on the usb drive.
# sudo mkdir /usr/src/openssh
# sudo mount /dev/sda1 /mnt/usbdrive
# sudo cp /mnt/usbdrive/openssh-5.1p1.tar.gz /usr/src/openssh
# cd /usr/src/openssh
# sudo tar -zxvf openssh-5.1p1.tar.gz
# sudo yum install pam-devel gcc
# sudo ./configure --prefix=/usr/local/openssh --with-pam
# sudo make
# sudo make install
# sudo yum remove pam-devel gcc
3> Configure the new openssh install for a chroot environment tied to the external
interfaces.
# cd /usr/local/openssh/etc/
# sudo vi ./sshd_config
# Set the listen address to the external dmz interface(eth0)
ListenAddress 10.0.0.100
# Enable pam so ldap users can still log into this interface
# UsePAM no
UsePAM yes
# Change the sftp subsystem to internal
#Subsystem sftp /usr/local/openssh/libexec/sftp-server
Subsystem sftp internal-sftp
# Near the bottom of the file enter in the following
Match group sftponly
ChrootDirectory /usr/local/openssh/chroot
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
4> Create the user, group and directories for chrooting
# sudo mkdir /usr/local/openssh/chroot
# sudo chmod 755 /usr/local/openssh/chroot
# sudo /usr/sbin/groupadd -g 800 sftponly
# sudo /usr/sbin/useradd -u 800 -g 800 -d /usr/local/openssh/chroot/sftpuser -s
/bin/bash -c "Some User" sftpuser
# sudo mkdir /usr/local/openssh/chroot/sftpuser/inbound
# sudo mkdir /usr/local/openssh/chroot/sftpuser/outbound
# sudo chmod -R 755 /usr/local/openssh/chroot/sftpuser
5> Create a startup script for the new ssh install
# sudo cp /usr/src/openssh/openssh-5.1p1/opensshd.init /etc/rc.d/init.d/sshd_chroot
# sudo chmod 755 /etc/rc.d/init.d/sshd_chroot
# sudo ln -s /etc/rc.d/init.d/sshd_chroot /etc/rc3.d/S56sshd_chroot
# sudo /etc/rc3.d/S56sshd_chroot start
###################
# Using ssh keys
###################
Remote users connecting to your local sftp:
For this we really don't even need a local sftp server. This change will allow a user to log in without a password using public/private keys. This is assuming that the remote user needs to sftp in without a password and has already created a public key. This public key will need to be dropped into the local accounts authorized_keys
file for this to work.
# cd /usr/local/openssh/chroot/sftpuser
# ls -ld .ssh(make sure it has 700 perms and exists. If it doesn't exist create it)
# cd .ssh
# vi authorized_keys(copy the key into this file)
# chmod 640 authorized_keys
Local users connecting to a remote sftp server:
For this we will need to create a public/private key pair and give the public key to a remote user so they can add your public key to their authorized_keys file.
# su sftpuser(or the username of your local user that is going to connect)
# ssh-keygen(hit enter three times)
This will create an "id_rsa" private key and an "id_rsa.pub" public key. You will need to give the public_key(id_rsa.pub) to the remote user. Once they have added it to their authorized_keys file you can now ssh into the remote machine as that username without a password.0
Categories
- All Categories
- 207 LFX Mentorship
- 207 LFX Mentorship: Linux Kernel
- 734 Linux Foundation IT Professional Programs
- 339 Cloud Engineer IT Professional Program
- 166 Advanced Cloud Engineer IT Professional Program
- 66 DevOps Engineer IT Professional Program
- 132 Cloud Native Developer IT Professional Program
- 122 Express Training Courses
- 122 Express Courses - Discussion Forum
- 5.9K Training Courses
- 40 LFC110 Class Forum - Discontinued
- 66 LFC131 Class Forum
- 39 LFD102 Class Forum
- 222 LFD103 Class Forum
- 17 LFD110 Class Forum
- 34 LFD121 Class Forum
- 17 LFD133 Class Forum
- 6 LFD134 Class Forum
- 17 LFD137 Class Forum
- 70 LFD201 Class Forum
- 3 LFD210 Class Forum
- 2 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum - Discontinued
- 1 LFD233 Class Forum
- 3 LFD237 Class Forum
- 23 LFD254 Class Forum
- 689 LFD259 Class Forum
- 110 LFD272 Class Forum
- 3 LFD272-JP クラス フォーラム
- 10 LFD273 Class Forum
- 111 LFS101 Class Forum
- LFS111 Class Forum
- 2 LFS112 Class Forum
- 1 LFS116 Class Forum
- 3 LFS118 Class Forum
- 3 LFS142 Class Forum
- 3 LFS144 Class Forum
- 3 LFS145 Class Forum
- 1 LFS146 Class Forum
- 2 LFS147 Class Forum
- 8 LFS151 Class Forum
- 1 LFS157 Class Forum
- 17 LFS158 Class Forum
- 5 LFS162 Class Forum
- 1 LFS166 Class Forum
- 3 LFS167 Class Forum
- 1 LFS170 Class Forum
- 1 LFS171 Class Forum
- 2 LFS178 Class Forum
- 2 LFS180 Class Forum
- 1 LFS182 Class Forum
- 4 LFS183 Class Forum
- 30 LFS200 Class Forum
- 737 LFS201 Class Forum - Discontinued
- 2 LFS201-JP クラス フォーラム
- 17 LFS203 Class Forum
- 118 LFS207 Class Forum
- 1 LFS207-DE-Klassenforum
- LFS207-JP クラス フォーラム
- 301 LFS211 Class Forum
- 55 LFS216 Class Forum
- 50 LFS241 Class Forum
- 44 LFS242 Class Forum
- 37 LFS243 Class Forum
- 13 LFS244 Class Forum
- 1 LFS245 Class Forum
- 45 LFS250 Class Forum
- 1 LFS250-JP クラス フォーラム
- LFS251 Class Forum
- 146 LFS253 Class Forum
- LFS254 Class Forum
- LFS255 Class Forum
- 6 LFS256 Class Forum
- LFS257 Class Forum
- 1.2K LFS258 Class Forum
- 9 LFS258-JP クラス フォーラム
- 116 LFS260 Class Forum
- 156 LFS261 Class Forum
- 41 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 23 LFS267 Class Forum
- 18 LFS268 Class Forum
- 29 LFS269 Class Forum
- 200 LFS272 Class Forum
- 1 LFS272-JP クラス フォーラム
- LFS274 Class Forum
- 3 LFS281 Class Forum
- 7 LFW111 Class Forum
- 257 LFW211 Class Forum
- 180 LFW212 Class Forum
- 12 SKF100 Class Forum
- SKF200 Class Forum
- SKF201 Class Forum
- 791 Hardware
- 199 Drivers
- 68 I/O Devices
- 37 Monitors
- 98 Multimedia
- 174 Networking
- 91 Printers & Scanners
- 85 Storage
- 754 Linux Distributions
- 82 Debian
- 67 Fedora
- 16 Linux Mint
- 13 Mageia
- 23 openSUSE
- 147 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 351 Ubuntu
- 465 Linux System Administration
- 39 Cloud Computing
- 71 Command Line/Scripting
- Github systems admin projects
- 91 Linux Security
- 78 Network Management
- 101 System Management
- 47 Web Management
- 56 Mobile Computing
- 17 Android
- 28 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 366 Off Topic
- 114 Introductions
- 171 Small Talk
- 20 Study Material
- 534 Programming and Development
- 293 Kernel Development
- 223 Software Development
- 1.2K Software
- 212 Applications
- 182 Command Line
- 3 Compiling/Installing
- 405 Games
- 312 Installation
- 79 All In Program
- 79 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)